001: /**
002: * EasyBeans
003: * Copyright (C) 2007 Bull S.A.S.
004: * Contact: easybeans@ow2.org
005: *
006: * This library is free software; you can redistribute it and/or
007: * modify it under the terms of the GNU Lesser General Public
008: * License as published by the Free Software Foundation; either
009: * version 2.1 of the License, or any later version.
010: *
011: * This library is distributed in the hope that it will be useful,
012: * but WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * Lesser General Public License for more details.
015: *
016: * You should have received a copy of the GNU Lesser General Public
017: * License along with this library; if not, write to the Free Software
018: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
019: * USA
020: *
021: * --------------------------------------------------------------------------
022: * $Id: JavaMailMimePartDataSourceRef.java 1970 2007-10-16 11:49:25Z benoitf $
023: * --------------------------------------------------------------------------
024: */package org.ow2.easybeans.component.mail.factory;
025:
026: import javax.mail.Address;
027: import javax.naming.NamingException;
028: import javax.naming.Reference;
029: import javax.naming.StringRefAddr;
030:
031: /**
032: * Defines a referenceable object for a MimePartDatasource Mail object.
033: * @author Florent BENOIT
034: */
035: public class JavaMailMimePartDataSourceRef extends AbsJavaMailRef {
036:
037: /**
038: * List of recipients for TO field.
039: */
040: private Address[] toRecipients = null;
041:
042: /**
043: * List of recipients for CC field.
044: */
045: private Address[] ccRecipients = null;
046:
047: /**
048: * List of recipients for BCC field.
049: */
050: private Address[] bccRecipients = null;
051:
052: /**
053: * Pre-defined subject.
054: */
055: private String subject = null;
056:
057: /**
058: * Build a new javax.mail.internet.MimePartDataSource reference.
059: */
060: public JavaMailMimePartDataSourceRef() {
061: super ();
062: }
063:
064: /**
065: * Return the type of the factory.
066: * @return the type of the mail factory
067: */
068: @Override
069: public String getType() {
070: return JavaMailMimePartDataSourceFactory.FACTORY_TYPE;
071: }
072:
073: /**
074: * Retrieves the Reference of this object.
075: * @return The non-null Reference of this object.
076: * @exception NamingException If a naming exception was encountered while
077: * retrieving the reference.
078: */
079: @Override
080: public Reference getReference() throws NamingException {
081:
082: // Build the reference for the JavaMailSession factory
083: Reference reference = new Reference(getType(),
084: JavaMailMimePartDataSourceFactory.class.getName(), null);
085:
086: // Add the recipients
087: // TO
088: putObject(reference,
089: JavaMailMimePartDataSourceFactory.TO_RECIPIENTS,
090: toRecipients);
091:
092: // CC
093: putObject(reference,
094: JavaMailMimePartDataSourceFactory.CC_RECIPIENTS,
095: ccRecipients);
096:
097: // BCC
098: putObject(reference,
099: JavaMailMimePartDataSourceFactory.BCC_RECIPIENTS,
100: bccRecipients);
101:
102: // Add subject
103: reference.add(new StringRefAddr(
104: JavaMailMimePartDataSourceFactory.SUBJECT, subject));
105:
106: // Update the reference
107: updateRefAddr(reference);
108:
109: return reference;
110: }
111:
112: /**
113: * @return array of TO recipients.
114: */
115: public Address[] getToRecipients() {
116: return toRecipients;
117: }
118:
119: /**
120: * Sets the TO recipients.
121: * @param toRecipients the given recipients
122: */
123: public void setToRecipients(final Address[] toRecipients) {
124: this .toRecipients = toRecipients;
125: }
126:
127: /**
128: * @return array of CC recipients.
129: */
130: public Address[] getCcRecipients() {
131: return ccRecipients;
132: }
133:
134: /**
135: * Sets the CC recipients.
136: * @param ccRecipients the given recipients
137: */
138: public void setCcRecipients(final Address[] ccRecipients) {
139: this .ccRecipients = ccRecipients;
140: }
141:
142: /**
143: * @return array of BCC recipients.
144: */
145: public Address[] getBccRecipients() {
146: return bccRecipients;
147: }
148:
149: /**
150: * Sets the BCC recipients.
151: * @param bccRecipients the given recipients
152: */
153: public void setBccRecipients(final Address[] bccRecipients) {
154: this .bccRecipients = bccRecipients;
155: }
156:
157: /**
158: * @return the subject that can be used.
159: */
160: public String getSubject() {
161: return subject;
162: }
163:
164: /**
165: * Sets the subject of the mail.
166: * @param subject the given subject
167: */
168: public void setSubject(final String subject) {
169: this.subject = subject;
170: }
171:
172: }
|