package in.partake.model.dto; import in.partake.base.JSONable; import java.util.UUID; import org.apache.commons.lang.ObjectUtils; import org.codehaus.jackson.node.JsonNodeFactory; import org.codehaus.jackson.node.ObjectNode; public class UserOpenIDLink extends PartakeModel<UserOpenIDLink> implements JSONable { private UUID id; private String userId; private String identifier; public UserOpenIDLink(UUID id, String userId, String identifier) { this.id = id; this.userId = userId; this.identifier = identifier; } public UserOpenIDLink(UserOpenIDLink linkage) { this(linkage.id, linkage.userId, linkage.identifier); } public UserOpenIDLink(ObjectNode obj) { this.id = UUID.fromString(obj.get("id").asText()); this.userId = obj.get("userId").asText(); this.identifier = obj.get("identifier").asText(); } @Override public Object getPrimaryKey() { return id; } @Override public ObjectNode toJSON() { ObjectNode obj = new ObjectNode(JsonNodeFactory.instance); obj.put("id", id.toString()); obj.put("userId", userId); obj.put("identifier", identifier); return obj; } // ----------------------------------------------------------------------------- // @Override public boolean equals(Object obj) { if (!(obj instanceof UserOpenIDLink)) { return false; } UserOpenIDLink lhs = this; UserOpenIDLink rhs = (UserOpenIDLink) obj; if (!ObjectUtils.equals(lhs.id, rhs.id)) { return false; } if (!ObjectUtils.equals(lhs.userId, rhs.userId)) { return false; } if (!ObjectUtils.equals(lhs.identifier, rhs.identifier)) { return false; } return true; } @Override public int hashCode() { int code = 0; code = code * 37 + ObjectUtils.hashCode(id); code = code * 37 + ObjectUtils.hashCode(userId); code = code * 37 + ObjectUtils.hashCode(identifier); return code; } // ----------------------------------------------------------------------------- // public UUID getId() { return id; } public String getUserId() { return userId; } public String getIdentifier() { return identifier; } public void setId(UUID id) { checkFrozen(); this.id = id; } public void setUserId(String userId) { checkFrozen(); this.userId = userId; } public void setIdentifier(String identifier) { checkFrozen(); this.identifier = identifier; } }