1 package geo.google.datamodel; 2 3 4 import java.io.Serializable; 5 6 import oasis.names.tc.ciq.xsdschema.xal._2.AddressDetails; 7 8 import org.apache.commons.lang.StringUtils; 9 import org.apache.commons.lang.builder.EqualsBuilder; 10 import org.apache.commons.lang.builder.HashCodeBuilder; 11 import org.apache.commons.lang.builder.ToStringBuilder; 12 import org.apache.commons.lang.builder.ToStringStyle; 13 /*** 14 * Data class for address. 15 * @author jliang 16 * 17 */ 18 public class GeoAddress implements Serializable{ 19 private static final long serialVersionUID = 2701695885973529100L; 20 private GeoCoordinate _coordinate; 21 private AddressDetails _addressDetails; 22 private String _addressLine = StringUtils.EMPTY; 23 private GeoAddressAccuracy _accuracy = GeoAddressAccuracy.UNKNOWN_LOCATION; 24 25 /*** 26 * A structured address, formatted as xAL, or eXtensible Address Language, 27 * an international standard for address formatting. 28 * http://www.oasis-open.org/committees/ciq/ciq.html#6 29 * @return 30 */ 31 public AddressDetails getAddressDetails() { 32 return _addressDetails; 33 } 34 public void setAddressDetails(AddressDetails addressDetails) { 35 _addressDetails = addressDetails; 36 } 37 /*** 38 * A string value representing an unstructured address written as a standard street, 39 * city, state address, and/or as a postal code. 40 * @return 41 */ 42 public String getAddressLine() { 43 return _addressLine; 44 } 45 public void setAddressLine(String addressLine) { 46 _addressLine = addressLine; 47 } 48 /*** 49 * A geographic location defined by longitude, latitude, and (optional) altitude. 50 * @return 51 */ 52 public GeoCoordinate getCoordinate() { 53 return _coordinate; 54 } 55 public void setCoordinate(GeoCoordinate coordinate) { 56 _coordinate = coordinate; 57 } 58 public GeoAddressAccuracy getAccuracy() { 59 return _accuracy; 60 } 61 public void setAccuracy(GeoAddressAccuracy accuracy) { 62 _accuracy = accuracy; 63 } 64 @Override 65 public boolean equals(Object o) { 66 return EqualsBuilder.reflectionEquals(this, o); 67 } 68 69 @Override 70 public int hashCode() { 71 return HashCodeBuilder.reflectionHashCode(this); 72 } 73 74 @Override 75 public String toString() { 76 return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE); 77 } 78 }