Class ByteArrayDataSource

  • All Implemented Interfaces:
    DataSource

    public class ByteArrayDataSource
    extends Object
    implements 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.
    Since:
    JavaMail 1.4
    Author:
    John Mani, Bill Shannon, Max Spivak
    • Constructor Detail

      • ByteArrayDataSource

        public ByteArrayDataSource​(InputStream is,
                                   String type)
                            throws 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:
        IOException - errors reading the stream
      • ByteArrayDataSource

        public ByteArrayDataSource​(byte[] data,
                                   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​(String data,
                                   String type)
                            throws 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:
        IOException - errors reading the String
    • Method Detail

      • getInputStream

        public InputStream getInputStream()
                                   throws 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 DataSource
        Returns:
        the InputStream
        Throws:
        IOException - if no data has been set
      • getContentType

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

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

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