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 }