package com.brightgenerous.mail; import java.io.IOException; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; import com.brightgenerous.commons.EqualsUtils; import com.brightgenerous.commons.HashCodeUtils; import com.brightgenerous.commons.ToStringUtils; public class MailInfo implements Serializable { private static final long serialVersionUID = 1112285105392290465L; private Set<String> tos; private Set<String> ccs; private Set<String> bccs; private Set<String> replyTos; private Date sentDate; private String fromAddress; private String fromPersonal; private String senderAddress; private String senderPersonal; private String subjectText; private String subjectEncode; private String bodyText; private String bodyEncode; // for serialize private void writeObject(ObjectOutputStream stream) throws IOException { if ((tos != null) && !(tos instanceof Serializable)) { tos = new HashSet<>(tos); // to java.io.Serializable } if ((ccs != null) && !(ccs instanceof Serializable)) { ccs = new HashSet<>(ccs); // to java.io.Serializable } if ((bccs != null) && !(bccs instanceof Serializable)) { bccs = new HashSet<>(bccs); // to java.io.Serializable } if ((replyTos != null) && !(replyTos instanceof Serializable)) { replyTos = new HashSet<>(replyTos); // to java.io.Serializable } stream.defaultWriteObject(); } public Set<String> getTos() { return tos; } public void setTos(Set<String> tos) { this.tos = tos; } public Set<String> getCcs() { return ccs; } public void setCcs(Set<String> ccs) { this.ccs = ccs; } public Set<String> getBccs() { return bccs; } public void setBccs(Set<String> bccs) { this.bccs = bccs; } public Set<String> getReplyTos() { return replyTos; } public void setReplyTos(Set<String> replyTos) { this.replyTos = replyTos; } public Date getSentDate() { return sentDate; } public void setSentDate(Date sentDate) { this.sentDate = sentDate; } public String getFromAddress() { return fromAddress; } public void setFromAddress(String fromAddress) { this.fromAddress = fromAddress; } public String getFromPersonal() { return fromPersonal; } public void setFromPersonal(String fromPersonal) { this.fromPersonal = fromPersonal; } public String getSenderAddress() { return senderAddress; } public void setSenderAddress(String senderAddress) { this.senderAddress = senderAddress; } public String getSenderPersonal() { return senderPersonal; } public void setSenderPersonal(String senderPersonal) { this.senderPersonal = senderPersonal; } public String getSubjectText() { return subjectText; } public void setSubjectText(String subjectText) { this.subjectText = subjectText; } public String getSubjectEncode() { return subjectEncode; } public void setSubjectEncode(String subjectEncode) { this.subjectEncode = subjectEncode; } public String getBodyText() { return bodyText; } public void setBodyText(String bodyText) { this.bodyText = bodyText; } public String getBodyEncode() { return bodyEncode; } public void setBodyEncode(String bodyEncode) { this.bodyEncode = bodyEncode; } @Override public int hashCode() { if (HashCodeUtils.resolved()) { return HashCodeUtils.hashCodeAlt(null, this); } return super.hashCode(); } @Override public boolean equals(Object obj) { if (EqualsUtils.resolved()) { return EqualsUtils.equalsAlt(null, this, obj); } return super.equals(obj); } @Override public String toString() { if (ToStringUtils.resolved()) { return ToStringUtils.toStringAlt(this); } return super.toString(); } }