Class ByteArrayDataSource

  • All Implemented Interfaces:
    javax.activation.DataSource


    public class ByteArrayDataSource
    extends java.lang.Object
    implements javax.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.
    Since:
    JavaMail 1.4
    • 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 javax.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 javax.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 javax.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 javax.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