001: package org.claros.commons.mail.models;
002:
003: import java.io.Serializable;
004: import java.util.ArrayList;
005: import java.util.Date;
006:
007: import org.claros.commons.mail.utility.Utility;
008:
009: /**
010: * @author Umut Gokbayrak
011: *
012: */
013: public class Email implements Serializable {
014: private static final long serialVersionUID = 318395800499501554L;
015: private Long msgId;
016: private transient ArrayList parts = new ArrayList();
017: private EmailHeader baseHeader;
018: private ArrayList headers = new ArrayList();
019: private String bodyText;
020:
021: public ArrayList getParts() {
022: return parts;
023: }
024:
025: public void setParts(ArrayList parts) {
026: this .parts = parts;
027: }
028:
029: public boolean addHeader(String name, Object value) {
030: headers.add(name + (char) 6 + value);
031: return true;
032: }
033:
034: /**
035: * @return
036: */
037: public ArrayList getHeaders() {
038: return headers;
039: }
040:
041: /**
042: * @param list
043: */
044: public void setHeaders(ArrayList list) {
045: headers = list;
046: }
047:
048: class HeaderPair {
049: String name;
050: Object value;
051: }
052:
053: /**
054: * @return
055: */
056: public EmailHeader getBaseHeader() {
057: return baseHeader;
058: }
059:
060: /**
061: * @param header
062: */
063: public void setBaseHeader(EmailHeader header) {
064: baseHeader = header;
065: }
066:
067: /**
068: * @return
069: */
070: public boolean isCcExists() {
071: return (getBaseHeader().getCc() != null);
072: }
073:
074: /**
075: * @return
076: */
077: public boolean isDateExists() {
078: return (getBaseHeader().getDate() != null);
079: }
080:
081: public String getTo() {
082: return Utility.addressArrToString(getBaseHeader().getTo());
083: }
084:
085: public String getFrom() {
086: String from = Utility.addressArrToString(getBaseHeader()
087: .getFrom());
088: if (from.equals("")) {
089: from = "-";
090: }
091: return from;
092: }
093:
094: public String getCc() {
095: return Utility.addressArrToString(getBaseHeader().getCc());
096: }
097:
098: public Date getDate() {
099: return getBaseHeader().getDate();
100: }
101:
102: public String getSubject() {
103: String subject = org.claros.commons.utility.Utility
104: .doCharsetCorrections(getBaseHeader().getSubject());
105: if (subject == null || subject.length() == 0) {
106: subject = "No Subject";
107: }
108: return subject;
109: }
110:
111: /**
112: * @return
113: */
114: public String getBodyText() {
115: return bodyText;
116: }
117:
118: /**
119: * @param string
120: */
121: public void setBodyText(String string) {
122: bodyText = string;
123: }
124:
125: /**
126: * @return
127: */
128: public Long getMsgId() {
129: return msgId;
130: }
131:
132: /**
133: * @param long1
134: */
135: public void setMsgId(Long long1) {
136: msgId = long1;
137: }
138:
139: }
|