Class MimePartDataSource

java.lang.Object
jakarta.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.
Author:
John Mani
See Also:
  • Field Details

    • part

      protected MimePart part
      The MimePart that provides the data for this DataSource.
      Since:
      JavaMail 1.4
  • Constructor Details

    • MimePartDataSource

      public MimePartDataSource(MimePart part)
      Constructor, that constructs a DataSource from a MimePart.
      Parameters:
      part - the MimePart
  • Method Details

    • 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
      Throws:
      IOException - for failures creating the InputStream
      See Also:
    • getOutputStream

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

      This implementation throws the UnknownServiceException.

      Specified by:
      getOutputStream in interface DataSource
      Returns:
      an OutputStream
      Throws:
      IOException - for failures creating the 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
      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
      Returns:
      the name of the object.
    • getMessageContext

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