javax.mail.internet
Class MimePartDataSource

java.lang.Object
  |
  +--javax.mail.internet.MimePartDataSource
All Implemented Interfaces:
DataSource, MessageAware

public class MimePartDataSource
extends Object
implements DataSource, MessageAware

A utility class that implements a DataSource out of a MimePart. This class is primarily meant for service providers.

See Also:
MimePart, DataSource

Constructor Summary
MimePartDataSource(MimePart part)
          Constructor, that constructs a DataSource from a MimePart.
 
Method Summary
 String getContentType()
          Returns the content-type of this DataSource.
 InputStream getInputStream()
          Returns an input stream from this MimePart.
 MessageContext getMessageContext()
          Return the MessageContext for the current part.
 String getName()
          DataSource method to return a name.
 OutputStream getOutputStream()
          DataSource method to return an output stream.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MimePartDataSource

public MimePartDataSource(MimePart part)
Constructor, that constructs a DataSource from a MimePart.
Method Detail

getInputStream

public InputStream getInputStream()
                           throws IOException
Returns an input stream from this MimePart.

This method applies the appropriate transfer-decoding, based on the Content-Transfer-Encoding attribute of this MimePart. Thus the returned input stream is a decoded stream of bytes.

This implementation obtains the raw content from the Part using the getContentStream() method and decodes it using the MimeUtility.decode() method.

Specified by:
getInputStream in interface DataSource
Returns:
decoded input stream
See Also:
MimeMessage.getContentStream(), MimeBodyPart.getContentStream(), MimeUtility.decode(java.io.InputStream, java.lang.String)

getOutputStream

public OutputStream getOutputStream()
                             throws IOException
DataSource method to return an output stream.

This implementation throws the UnknownServiceException.

Specified by:
getOutputStream in interface DataSource
Following copied from interface: javax.activation.DataSource
Returns:
an OutputStream

getContentType

public String getContentType()
Returns the content-type of this DataSource.

This implementation just invokes the getContentType method on the MimePart.

Specified by:
getContentType in interface DataSource
Following copied from interface: javax.activation.DataSource
Returns:
the MIME Type

getName

public String getName()
DataSource method to return a name.

This implementation just returns an empty string.

Specified by:
getName in interface DataSource
Following copied from interface: javax.activation.DataSource
Returns:
the name of the object.

getMessageContext

public MessageContext getMessageContext()
Return the MessageContext for the current part.
Specified by:
getMessageContext in interface MessageAware
Since:
JavaMail 1.1