001: //$HeadURL: https://svn.wald.intevation.org/svn/deegree/base/trunk/src/org/deegree/framework/mail/MailMessage.java $
002: /*---------------- FILE HEADER ------------------------------------------
003:
004: This file is part of deegree.
005: Copyright (C) 2001-2008 by:
006: EXSE, Department of Geography, University of Bonn
007: http://www.giub.uni-bonn.de/deegree/
008: lat/lon GmbH
009: http://www.lat-lon.de
010:
011: This library is free software; you can redistribute it and/or
012: modify it under the terms of the GNU Lesser General Public
013: License as published by the Free Software Foundation; either
014: version 2.1 of the License, or (at your option) any later version.
015:
016: This library is distributed in the hope that it will be useful,
017: but WITHOUT ANY WARRANTY; without even the implied warranty of
018: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
019: Lesser General Public License for more details.
020:
021: You should have received a copy of the GNU Lesser General Public
022: License along with this library; if not, write to the Free Software
023: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
024:
025: Contact:
026:
027: Andreas Poth
028: lat/lon GmbH
029: Aennchenstr. 19
030: 53115 Bonn
031: Germany
032: E-Mail: poth@lat-lon.de
033:
034: Prof. Dr. Klaus Greve
035: Department of Geography
036: University of Bonn
037: Meckenheimer Allee 166
038: 53115 Bonn
039: Germany
040: E-Mail: greve@giub.uni-bonn.de
041:
042:
043: ---------------------------------------------------------------------------*/
044: package org.deegree.framework.mail;
045:
046: /**
047: * Interface of a email message.
048: *
049: * @author <a href="mailto:tfr@users.sourceforge.net">Torsten Friebe</A>
050: *
051: * @author last edited by: $Author: apoth $
052: *
053: * @version $Revision: 9339 $, $Date: 2007-12-27 04:31:52 -0800 (Thu, 27 Dec 2007) $
054: */
055:
056: public interface MailMessage {
057:
058: /**
059: * Returns the subject.
060: *
061: *
062: * @return the subjec string
063: */
064: String getSubject();
065:
066: /**
067: * Returns the sender
068: *
069: *
070: * @return the sender mail address
071: */
072: String getSender();
073:
074: /**
075: * Returns the message body
076: *
077: * @return string representation of the message body
078: */
079: String getMessageBody();
080:
081: /**
082: * Returns the receiver mail address
083: *
084: *
085: * @return the mail address of the receiver
086: */
087: String getReceiver();
088:
089: /**
090: * Sets the receiver mail address
091: *
092: *
093: * @param to
094: * the receiver mail address
095: */
096: void setReceiver(String to);
097:
098: /**
099: * Sets the message body
100: *
101: * @param message
102: * the string representation of the message body
103: */
104: void setMessageBody(String message);
105:
106: /**
107: * Sets the sender mail address.
108: *
109: *
110: * @param from
111: * the sender mail address
112: */
113: void setSender(String from);
114:
115: /**
116: * Sets the subject.
117: *
118: * @param title
119: * the message subject
120: */
121: void setSubject(String title);
122:
123: /**
124: * Return mail header including sender, receiver and subject.
125: *
126: * @return string with sender, receiver and subject
127: */
128: String getHeader();
129:
130: /**
131: * Sets the MIME type of the message
132: *
133: * @param mimeType
134: * the MIME type as string
135: *
136: * @see #PLAIN_TEXT
137: * @see #TEXT_HTML
138: * @see <a href="http://www.ietf.org/rfc/rfc1341.txt">IETF MIME RFC</a>
139: * @see javax.mail.Part#setContent(java.lang.Object, java.lang.String)
140: * @see javax.mail.Part#setText
141: */
142: void setMimeType(String mimeType) throws UnknownMimeTypeException;
143:
144: /**
145: * Returns the MIME type of the message body.
146: *
147: * @return the MIME type as a string
148: *
149: * @see javax.mail.Part#getContentType
150: */
151: String getMimeType();
152:
153: /**
154: * Validates the message.
155: *
156: * @return <code>true</code> - if the message is complete, otherwise false.
157: */
158: boolean isValid();
159:
160: /**
161: * MIME type <code>text/plain</code>
162: */
163: String PLAIN_TEXT = "text/plain";
164:
165: /**
166: * MIME type <code>text/html</code>
167: */
168: String TEXT_HTML = "text/html";
169:
170: /**
171: * MIME type <code>text/xml</code>
172: */
173: String TEXT_XML = "text/xml";
174:
175: /**
176: * HTML mulitpart message with inline elements
177: *
178: * @see javax.mail.Part
179: */
180: short PART_INLINE = 0;
181:
182: /**
183: * Mulitpart message with references
184: *
185: * @see javax.mail.Part
186: */
187: short PART_REF = 1;
188: }
|