package org.yestech.rpx.objectmodel; import org.json.JSONObject; import static org.yestech.rpx.objectmodel.RPXUtil.jsonString; import javax.xml.bind.annotation.XmlRootElement; import java.io.Serializable; /** * @author A.J. Wright */ @XmlRootElement public class Address implements Serializable { private String formatted; private String streetAddress; private String locality; private String region; private String postalCode; private String country; public String getFormatted() { return formatted; } public void setFormatted(String formatted) { this.formatted = formatted; } public String getStreetAddress() { return streetAddress; } public void setStreetAddress(String streetAddress) { this.streetAddress = streetAddress; } public String getLocality() { return locality; } public void setLocality(String locality) { this.locality = locality; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public String getPostalCode() { return postalCode; } public void setPostalCode(String postalCode) { this.postalCode = postalCode; } public String getCountry() { return country; } public void setCountry(String country) { this.country = country; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Address address = (Address) o; if (country != null ? !country.equals(address.country) : address.country != null) return false; if (formatted != null ? !formatted.equals(address.formatted) : address.formatted != null) return false; if (locality != null ? !locality.equals(address.locality) : address.locality != null) return false; if (postalCode != null ? !postalCode.equals(address.postalCode) : address.postalCode != null) return false; if (region != null ? !region.equals(address.region) : address.region != null) return false; //noinspection RedundantIfStatement if (streetAddress != null ? !streetAddress.equals(address.streetAddress) : address.streetAddress != null) return false; return true; } @Override public int hashCode() { int result = formatted != null ? formatted.hashCode() : 0; result = 31 * result + (streetAddress != null ? streetAddress.hashCode() : 0); result = 31 * result + (locality != null ? locality.hashCode() : 0); result = 31 * result + (region != null ? region.hashCode() : 0); result = 31 * result + (postalCode != null ? postalCode.hashCode() : 0); result = 31 * result + (country != null ? country.hashCode() : 0); return result; } @Override public String toString() { return "Address{" + "formatted='" + formatted + '\'' + ", streetAddress='" + streetAddress + '\'' + ", locality='" + locality + '\'' + ", region='" + region + '\'' + ", postalCode='" + postalCode + '\'' + ", country='" + country + '\'' + '}'; } public static Address fromJson(JSONObject json) { Address address = new Address(); address.formatted = jsonString(json, "formatted"); address.streetAddress = jsonString(json, "streetAddress"); address.locality = jsonString(json, "locality"); address.region = jsonString(json, "region"); address.postalCode = jsonString(json, "postalCode"); address.country = jsonString(json, "country"); return address; } }