Module jakarta.mail

Class ByteArrayDataSource

  • All Implemented Interfaces:
    jakarta.activation.DataSource

    public class ByteArrayDataSource
    extends java.lang.Object
    implements jakarta.activation.DataSource
    A DataSource backed by a byte array. The byte array may be passed in directly, or may be initialized from an InputStream or a String.
    Author:
    John Mani, Bill Shannon, Max Spivak
    • Constructor Summary

      Constructors 
      Constructor Description
      ByteArrayDataSource​(byte[] data, java.lang.String type)
      Create a ByteArrayDataSource with data from the specified byte array and with the specified MIME type.
      ByteArrayDataSource​(java.io.InputStream is, java.lang.String type)
      Create a ByteArrayDataSource with data from the specified InputStream and with the specified MIME type.
      ByteArrayDataSource​(java.lang.String data, java.lang.String type)
      Create a ByteArrayDataSource with data from the specified String and with the specified MIME type.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getContentType()
      Get the MIME content type of the data.
      java.io.InputStream getInputStream()
      Return an InputStream for the data.
      java.lang.String getName()
      Get the name of the data.
      java.io.OutputStream getOutputStream()
      Return an OutputStream for the data.
      void setName​(java.lang.String name)
      Set the name of the data.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ByteArrayDataSource

        public ByteArrayDataSource​(java.io.InputStream is,
                                   java.lang.String type)
                            throws java.io.IOException
        Create a ByteArrayDataSource with data from the specified InputStream and with the specified MIME type. The InputStream is read completely and the data is stored in a byte array.
        Parameters:
        is - the InputStream
        type - the MIME type
        Throws:
        java.io.IOException - errors reading the stream
      • ByteArrayDataSource

        public ByteArrayDataSource​(byte[] data,
                                   java.lang.String type)
        Create a ByteArrayDataSource with data from the specified byte array and with the specified MIME type.
        Parameters:
        data - the data
        type - the MIME type
      • ByteArrayDataSource

        public ByteArrayDataSource​(java.lang.String data,
                                   java.lang.String type)
                            throws java.io.IOException
        Create a ByteArrayDataSource with data from the specified String and with the specified MIME type. The MIME type should include a charset parameter specifying the charset to be used for the string. If the parameter is not included, the default charset is used.
        Parameters:
        data - the String
        type - the MIME type
        Throws:
        java.io.IOException - errors reading the String
    • Method Detail

      • getInputStream

        public java.io.InputStream getInputStream()
                                           throws java.io.IOException
        Return an InputStream for the data. Note that a new stream is returned each time this method is called.
        Specified by:
        getInputStream in interface jakarta.activation.DataSource
        Returns:
        the InputStream
        Throws:
        java.io.IOException - if no data has been set
      • getOutputStream

        public java.io.OutputStream getOutputStream()
                                             throws java.io.IOException
        Return an OutputStream for the data. Writing the data is not supported; an IOException is always thrown.
        Specified by:
        getOutputStream in interface jakarta.activation.DataSource
        Throws:
        java.io.IOException - always
      • getContentType

        public java.lang.String getContentType()
        Get the MIME content type of the data.
        Specified by:
        getContentType in interface jakarta.activation.DataSource
        Returns:
        the MIME type
      • getName

        public java.lang.String getName()
        Get the name of the data. By default, an empty string ("") is returned.
        Specified by:
        getName in interface jakarta.activation.DataSource
        Returns:
        the name of this data
      • setName

        public void setName​(java.lang.String name)
        Set the name of the data.
        Parameters:
        name - the name of this data