001 //$HeadURL: svn+ssh://rbezema@svn.wald.intevation.org/deegree/base/tags/2.1/src/org/deegree/framework/mail/EMailMessage.java $
002 /*---------------- FILE HEADER ------------------------------------------
003
004 This file is part of deegree.
005 Copyright (C) 2001-2006 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 * This class encapsulates all the info need to send an email message. This object is passed to the
048 * MailerEJB sendMail(...) method.
049 *
050 *
051 * @author <a href="mailto:tfr@users.sourceforge.net">Torsten Friebe</A>
052 * @author last edited by: $Author: apoth $
053 *
054 * @version $Revision: 6455 $,$Date: 2007-03-29 13:50:50 +0200 (Do, 29 Mär 2007) $
055 */
056 public class EMailMessage implements java.io.Serializable, MailMessage {
057
058 private String sender;
059
060 private String subject;
061
062 private String htmlContents;
063
064 private String emailReceiver;
065
066 private String mimeType;
067
068 /**
069 * Creates an empty email message with the default MIME type plain text.
070 */
071 private EMailMessage() {
072 try {
073 this.setMimeType( MailMessage.PLAIN_TEXT );
074 } catch ( Exception ex ) {
075 // nothing to do
076 }
077 }
078
079 /**
080 * Creates a new mail message with MIME type text/plain.
081 *
082 * @param from
083 * the sender
084 * @param to
085 * the receiver list
086 * @param subject
087 * the subject
088 * @param messageBody
089 * the content of the message
090 */
091 public EMailMessage( String from, String to, String subject, String messageBody ) {
092 this();
093
094 this.setSender( from );
095 this.setReceiver( to );
096 this.setSubject( subject );
097 this.setMessageBody( messageBody );
098 }
099
100 /**
101 * Creates a new mail message with the given MIME type.
102 *
103 * @param from
104 * the sender
105 * @param to
106 * the receiver list
107 * @param subject
108 * the subject
109 * @param messageBody
110 * the content of the message
111 * @param mimeType
112 * the MIME type of the message body
113 * @throws UnknownMimeTypeException
114 * if the given mimeType is not supported
115 */
116 public EMailMessage( String from, String to, String subject, String messageBody, String mimeType )
117 throws UnknownMimeTypeException {
118 this( from, to, subject, messageBody );
119 this.setMimeType( mimeType );
120 }
121
122 /**
123 * Returns the state of this message. If sender and receiver are unequal null then this message
124 * is valid otherwise invalid.
125 *
126 * @return validation state, <code>true</code> if sender and receiver are not
127 * <code>null</code>, otherwise <code>false</code>
128 */
129 public boolean isValid() {
130 if ( this.getSender() != null && this.getReceiver() != null ) {
131 return true;
132 }
133 return false;
134 }
135
136 /**
137 * Return mail header including sender, receiver and subject.
138 *
139 * @return string with sender, receiver and subject
140 */
141 public String getHeader() {
142 return ( "From:" + this.getSender() + ", To:" + this.getReceiver() + ", Subject:" + this.getSubject() );
143 }
144
145 /**
146 * Description of the Method
147 *
148 * @return Description of the Return Value
149 */
150 public String toString() {
151 return ( "From:" + this.getSender() + ", To:" + this.getReceiver() + ", Subject:"
152 + this.getSubject() + ",Body: " + this.getMessageBody() );
153 }
154
155 /**
156 * Method declaration
157 *
158 * @return sender
159 */
160 public String getSender() {
161 return this.sender;
162 }
163
164 /**
165 * Method declaration
166 *
167 * @return The messageBody value
168 */
169 public String getMessageBody() {
170 return this.htmlContents;
171 }
172
173 /**
174 * Method declaration
175 *
176 * @return emailReceiver
177 */
178 public String getReceiver() {
179 return this.emailReceiver;
180 }
181
182 /**
183 * Method declaration
184 *
185 * @param to
186 */
187 public void setReceiver( String to ) {
188 this.emailReceiver = to;
189 }
190
191 /**
192 * Method declaration
193 *
194 * @param message
195 */
196 public void setMessageBody( String message ) {
197 this.htmlContents = message;
198 }
199
200 /**
201 * Method declaration
202 *
203 * @param from
204 */
205 public void setSender( String from ) {
206 this.sender = from;
207 }
208
209 /**
210 * Method declaration
211 *
212 * @param title
213 */
214 public void setSubject( String title ) {
215 this.subject = title;
216 }
217
218 /**
219 * Gets the subject attribute of the EMailMessage object
220 *
221 * @return The subject value
222 */
223 public String getSubject() {
224 return subject;
225 }
226
227 /**
228 * Sets the mimeType attribute of the EMailMessage object
229 *
230 * @param mimeType
231 * The new mimeType value
232 * @throws UnknownMimeTypeException
233 * if the given MIME type is not supported
234 */
235 public void setMimeType( String mimeType )
236 throws UnknownMimeTypeException {
237 if ( mimeType.equalsIgnoreCase( MailMessage.PLAIN_TEXT ) ) {
238 this.mimeType = mimeType;
239 } else if ( mimeType.equalsIgnoreCase( MailMessage.TEXT_HTML ) ) {
240 this.mimeType = mimeType;
241 } else {
242 throw new UnknownMimeTypeException( getClass().getName(), mimeType );
243 }
244 }
245
246 /**
247 * Gets the mimeType attribute of the EMailMessage object
248 *
249 * @return The mimeType value
250 */
251 public String getMimeType() {
252 return this.mimeType;
253 }
254
255 }
256
257 /***************************************************************************************************
258 * <code>
259 Changes to this class. What the people have been up to:
260
261 $Log$
262 Revision 1.9 2007/03/06 10:41:39 wanhoff
263 Fixed Javadoc (@testcase removed)
264
265 Revision 1.8 2007/01/26 13:27:42 wanhoff
266 fixed Javadoc @return tag and footer
267
268 Revision 1.7 2006/07/12 14:46:19 poth
269 comment footer added
270
271 </code>
272 **************************************************************************************************/