package in.partake.model.dto;
import org.apache.commons.lang.ObjectUtils;
import org.codehaus.jackson.node.JsonNodeFactory;
import org.codehaus.jackson.node.ObjectNode;
// TODO: Should be merged into Event...
public class EventFeed extends PartakeModel<EventFeed> {
private String id;
private String eventId;
public EventFeed() {
// default constructor.
}
public EventFeed(String id, String eventId) {
this.id = id;
this.eventId = eventId;
}
public EventFeed(EventFeed linkage) {
this.id = linkage.id;
this.eventId = linkage.eventId;
}
public EventFeed(ObjectNode obj) {
this.id = obj.get("id").asText();
this.eventId = obj.get("eventId").asText();
}
@Override
public Object getPrimaryKey() {
return id;
}
@Override
public ObjectNode toJSON() {
ObjectNode obj = new ObjectNode(JsonNodeFactory.instance);
obj.put("id", id);
obj.put("eventId", eventId);
return obj;
}
// ----------------------------------------------------------------------
// equal methods
@Override
public boolean equals(Object obj) {
if (!(obj instanceof EventFeed)) { return false; }
EventFeed lhs = this;
EventFeed rhs = (EventFeed) obj;
if (!ObjectUtils.equals(lhs.id, rhs.id)) { return false; }
if (!ObjectUtils.equals(lhs.eventId, rhs.eventId)) { return false; }
return true;
}
@Override
public int hashCode() {
return ObjectUtils.hashCode(id);
}
// ----------------------------------------------------------------------
// accessors
public String getId() {
return id;
}
public String getEventId() {
return eventId;
}
public void setId(String id) {
checkFrozen();
this.id = id;
}
public void setEventId(String eventId) {
checkFrozen();
this.eventId = eventId;
}
}