package fi.arcusys.koku.kv.model; import java.util.ArrayList; import java.util.List; import fi.arcusys.koku.users.KokuUser; /** * Message data model * @author Jinhua Chen * Jun 22, 2011 */ public class KokuMessage { private long messageId; private KokuUser senderUser; private List<KokuUser> recipientUsers; private String subject; private String content; private String creationDate; private String messageType; private String messageStatus; private String messageStatusLocalized; private List<KokuUser> deliveryFailedTo; /** * @return the senderUser */ public final KokuUser getSenderUser() { return senderUser; } /** * @param senderUser the senderUser to set */ public final void setSenderUser(KokuUser senderUser) { this.senderUser = senderUser; } /** * @return the recipientUsers */ public final List<KokuUser> getRecipientUsers() { if (recipientUsers == null) { recipientUsers = new ArrayList<KokuUser>(); } return recipientUsers; } public long getMessageId() { return messageId; } public String getSubject() { return subject; } public String getContent() { return content; } public String getCreationDate() { return creationDate; } public String getMessageType() { return messageType; } public String getMessageStatus() { return messageStatus; } public void setMessageId(long messageId) { this.messageId = messageId; } public void setSubject(String subject) { this.subject = subject; } public void setContent(String content) { this.content = content; } public void setCreationDate(String creationDate) { this.creationDate = creationDate; } public void setMessageType(String messageType) { this.messageType = messageType; } public void setMessageStatus(String messageStatus) { this.messageStatus = messageStatus; } /** * @return the messageStatusLocalized */ public final String getMessageStatusLocalized() { return messageStatusLocalized; } /** * @param messageStatusLocalized the messageStatusLocalized to set */ public final void setMessageStatusLocalized(String messageStatusLocalized) { this.messageStatusLocalized = messageStatusLocalized; } public final List<KokuUser> getDeliveryFailedTo() { if (deliveryFailedTo == null) { deliveryFailedTo = new ArrayList<KokuUser>(); } return deliveryFailedTo; } /* (non-Javadoc) * @see java.lang.Object#toString() */ @Override public String toString() { return "KokuMessage [messageId=" + messageId + ", senderUser=" + senderUser + ", recipientUsers=" + recipientUsers + ", subject=" + subject + ", content=" + content + ", creationDate=" + creationDate + ", messageType=" + messageType + ", messageStatus=" + messageStatus + ", deliveryFailedTo=" + deliveryFailedTo + "]"; } /* (non-Javadoc) * @see java.lang.Object#hashCode() */ @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((content == null) ? 0 : content.hashCode()); result = prime * result + ((creationDate == null) ? 0 : creationDate.hashCode()); result = prime * result + ((deliveryFailedTo == null) ? 0 : deliveryFailedTo.hashCode()); result = prime * result + (int) (messageId ^ (messageId >>> 32)); result = prime * result + ((messageStatus == null) ? 0 : messageStatus.hashCode()); result = prime * result + ((messageType == null) ? 0 : messageType.hashCode()); result = prime * result + ((recipientUsers == null) ? 0 : recipientUsers.hashCode()); result = prime * result + ((senderUser == null) ? 0 : senderUser.hashCode()); result = prime * result + ((subject == null) ? 0 : subject.hashCode()); return result; } /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } KokuMessage other = (KokuMessage) obj; if (content == null) { if (other.content != null) { return false; } } else if (!content.equals(other.content)) { return false; } if (creationDate == null) { if (other.creationDate != null) { return false; } } else if (!creationDate.equals(other.creationDate)) { return false; } if (deliveryFailedTo == null) { if (other.deliveryFailedTo != null) { return false; } } else if (!deliveryFailedTo.equals(other.deliveryFailedTo)) { return false; } if (messageId != other.messageId) { return false; } if (messageStatus == null) { if (other.messageStatus != null) { return false; } } else if (!messageStatus.equals(other.messageStatus)) { return false; } if (messageType == null) { if (other.messageType != null) { return false; } } else if (!messageType.equals(other.messageType)) { return false; } if (recipientUsers == null) { if (other.recipientUsers != null) { return false; } } else if (!recipientUsers.equals(other.recipientUsers)) { return false; } if (senderUser == null) { if (other.senderUser != null) { return false; } } else if (!senderUser.equals(other.senderUser)) { return false; } if (subject == null) { if (other.subject != null) { return false; } } else if (!subject.equals(other.subject)) { return false; } return true; } }