- java.lang.Object
-
- jakarta.mail.util.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.
-
-
-
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 InputStreamtype
- 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 datatype
- 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 acharset
parameter specifying the charset to be used for the string. If the parameter is not included, the default charset is used.- Parameters:
data
- the Stringtype
- 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 interfacejakarta.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; anIOException
is always thrown.- Specified by:
getOutputStream
in interfacejakarta.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 interfacejakarta.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 interfacejakarta.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
-
-