1 /************************************************************************ 2 * Copyright (c) 2003-2006 The Apache Software Foundation. * 3 * All rights reserved. * 4 * ------------------------------------------------------------------- * 5 * Licensed under the Apache License, Version 2.0 (the "License"); you * 6 * may not use this file except in compliance with the License. You * 7 * may obtain a copy of the License at: * 8 * * 9 * http://www.apache.org/licenses/LICENSE-2.0 * 10 * * 11 * Unless required by applicable law or agreed to in writing, software * 12 * distributed under the License is distributed on an "AS IS" BASIS, * 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * 14 * implied. See the License for the specific language governing * 15 * permissions and limitations under the License. * 16 ***********************************************************************/ 17 package org.apache.james.util.mail; 18 19 import javax.activation.DataSource; 20 import javax.mail.MessagingException; 21 import javax.mail.internet.ContentType; 22 import javax.mail.internet.MimeMultipart; 23 24 /*** 25 * Class <code>MimeMultipartReport</code> implements JavaMail support 26 * for a MIME type of MimeMultipart with a subtype of report. 27 */ 28 public class MimeMultipartReport extends MimeMultipart 29 { 30 31 /*** 32 * Default constructor 33 */ 34 public MimeMultipartReport() 35 { 36 this("report"); 37 } 38 39 /*** 40 * Constructs a MimeMultipartReport of the given subtype. 41 * @param subtype 42 */ 43 public MimeMultipartReport(String subtype) 44 { 45 super(subtype); 46 } 47 48 /*** 49 * Constructs a MimeMultipartReport from the passed DataSource. 50 * @param aDataSource 51 * @throws javax.mail.MessagingException 52 */ 53 public MimeMultipartReport(DataSource aDataSource) throws MessagingException 54 { 55 super(aDataSource); 56 } 57 58 /*** 59 * Sets the type of report. 60 * @param reportType 61 * @throws MessagingException 62 */ 63 public void setReportType(String reportType) throws MessagingException 64 { 65 ContentType contentType = new ContentType(getContentType()); 66 contentType.setParameter("report-type", reportType); 67 setContentType(contentType); 68 } 69 70 /*** 71 * Sets the content type 72 * @param aContentType 73 */ 74 protected void setContentType(ContentType aContentType) 75 { 76 contentType = aContentType.toString(); 77 } 78 79 }