package pctelelog; import org.codehaus.jackson.annotate.JsonCreator; import org.codehaus.jackson.annotate.JsonProperty; import org.codehaus.jackson.annotate.JsonTypeInfo; import org.codehaus.jackson.annotate.JsonTypeInfo.Id; import org.codehaus.jackson.annotate.JsonTypeInfo.As; @JsonTypeInfo(use=Id.CLASS, include=As.WRAPPER_OBJECT) public class PhoneNumber { @JsonProperty("number") private String m_number = null; @JsonCreator public PhoneNumber(@JsonProperty("number") String number) { this.m_number = number; } public String getNumber() { return m_number; } @Override public String toString() { /* * Returns the phone number as a hyphenated phone number */ return this.m_number; } @Override public boolean equals(Object obj) { if(obj == null) { return false; } try { PhoneNumber number = PhoneNumber.class.cast(obj); // Compare numbers if both have one if(number.getNumber() != null && number.getNumber() != null) { if(! number.getNumber().equals(this.getNumber())) { return false; } } else if(number.getNumber() != this.getNumber()) { // Check if matching nulls return false; } } catch(ClassCastException e) { return false; } return true; } }