javax.mail.internet
Class MimePartDataSource

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

public class MimePartDataSource
extends java.lang.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
 java.lang.String getContentType()
          Returns the content-type of this DataSource.
 java.io.InputStream getInputStream()
          Returns an input stream from this MimePart.
 MessageContext getMessageContext()
          Return the MessageContext for the current part.
 java.lang.String getName()
          DataSource method to return a name.
 java.io.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 java.io.InputStream getInputStream()
                                   throws java.io.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 java.io.OutputStream getOutputStream()
                                     throws java.io.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 java.lang.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 java.lang.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