package pctelelog.events;
import java.util.Date;
import org.codehaus.jackson.annotate.JsonProperty;
import pctelelog.ContactInfo;
public class AbstractCallEvent extends AbstractEvent {
@JsonProperty("info") private ContactInfo m_info = null;
public AbstractCallEvent(EventType type, Date time, ContactInfo info) {
super(type, time);
m_info = info;
}
@JsonProperty("info")
public ContactInfo getContactInfo() {
return m_info;
}
@Override
public String toString() {
String str = "";
str = super.toString() + ": " + m_info.toString();
return str;
}
@Override
public boolean equals(Object obj) {
if(obj == null) {
return false;
}
try {
AbstractCallEvent event = AbstractCallEvent.class.cast(obj);
// Compare contact info if there is one
if(event.getContactInfo() != null && this.getContactInfo() != null) {
if(! event.getContactInfo().equals(this.getContactInfo())) {
return false;
}
}
// Check if matching nulls
else if(event.getContactInfo() != this.getContactInfo()) {
return false;
}
} catch(ClassCastException e) {
return false;
}
return super.equals(obj);
}
}