public class AttachmentPartImpl extends AttachmentPart
Constructor and Description |
---|
AttachmentPartImpl() |
AttachmentPartImpl(MIMEPart part) |
Modifier and Type | Method and Description |
---|---|
void |
addMimeHeader(String name,
String value)
Adds a MIME header with the specified name and value to this
AttachmentPart object. |
void |
clearContent()
Clears out the content of this
AttachmentPart object. |
static void |
copyMimeHeaders(MimeBodyPart mbp,
AttachmentPartImpl ap) |
static void |
copyMimeHeaders(MimeHeaders headers,
MimeBodyPart mbp) |
boolean |
equals(Object o) |
Iterator<MimeHeader> |
getAllMimeHeaders()
Retrieves all the headers for this
AttachmentPart object
as an iterator over the MimeHeader objects. |
InputStream |
getBase64Content()
Returns an
InputStream which can be used to obtain the
content of AttachmentPart as Base64 encoded
character data, this method would base64 encode the raw bytes
of the attachment and return. |
Object |
getContent()
Gets the content of this
AttachmentPart object as a Java
object. |
DataHandler |
getDataHandler()
Gets the
DataHandler object for this AttachmentPart
object. |
Iterator<MimeHeader> |
getMatchingMimeHeaders(String[] names)
Retrieves all
MimeHeader objects that match a name in
the given array. |
String[] |
getMimeHeader(String name)
Gets all the values of the header identified by the given
String . |
MimeHeaders |
getMimeHeaders() |
Iterator<MimeHeader> |
getNonMatchingMimeHeaders(String[] names)
Retrieves all
MimeHeader objects whose name does
not match a name in the given array. |
InputStream |
getRawContent()
Gets the content of this
AttachmentPart object as an
InputStream as if a call had been made to getContent and no
DataContentHandler had been registered for the
content-type of this AttachmentPart . |
byte[] |
getRawContentBytes()
Gets the content of this
AttachmentPart object as a
byte[] array as if a call had been made to getContent and no
DataContentHandler had been registered for the
content-type of this AttachmentPart . |
int |
getSize()
Returns the number of bytes in this
AttachmentPart
object. |
int |
hashCode() |
static void |
initializeJavaActivationHandlers() |
void |
removeAllMimeHeaders()
Removes all the MIME header entries.
|
void |
removeMimeHeader(String header)
Removes all MIME headers that match the given name.
|
void |
setBase64Content(InputStream content,
String contentType)
Sets the content of this attachment part from the Base64 source
InputStream and sets the value of the
Content-Type header to the value contained in
contentType , This method would first decode the base64
input and write the resulting raw bytes to the attachment. |
void |
setContent(Object object,
String contentType)
Sets the content of this attachment part to that of the given
Object and sets the value of the Content-Type
header to the given type. |
void |
setDataHandler(DataHandler dataHandler)
Sets the given
DataHandler object as the data handler
for this AttachmentPart object. |
void |
setMimeHeader(String name,
String value)
Changes the first header entry that matches the given name
to the given value, adding a new header if no existing header
matches.
|
void |
setRawContent(InputStream content,
String contentType)
Sets the content of this attachment part to that contained by the
InputStream content and sets the value of the
Content-Type header to the value contained in
contentType . |
void |
setRawContentBytes(byte[] content,
int off,
int len,
String contentType)
Sets the content of this attachment part to that contained by the
byte[] array content and sets the value of the
Content-Type header to the value contained in
contentType . |
getContentId, getContentLocation, getContentType, setContentId, setContentLocation, setContentType
protected static final Logger log
public AttachmentPartImpl()
public AttachmentPartImpl(MIMEPart part)
public int getSize() throws SOAPException
AttachmentPart
AttachmentPart
object.getSize
in class AttachmentPart
AttachmentPart
object in bytes
or -1 if the size cannot be determinedSOAPException
- if the content of this attachment is
corrupted of if there was an exception while trying
to determine the size.public void clearContent()
AttachmentPart
AttachmentPart
object.
The MIME header portion is left untouched.clearContent
in class AttachmentPart
public Object getContent() throws SOAPException
AttachmentPart
AttachmentPart
object as a Java
object. The type of the returned Java object depends on (1) the
DataContentHandler
object that is used to interpret the bytes
and (2) the Content-Type
given in the header.
For the MIME content types "text/plain", "text/html" and "text/xml", the
DataContentHandler
object does the conversions to and
from the Java types corresponding to the MIME types.
For other MIME types,the DataContentHandler
object
can return an InputStream
object that contains the content data
as raw bytes.
A SAAJ-compliant implementation must, as a minimum, return a
java.lang.String
object corresponding to any content
stream with a Content-Type
value of
text/plain
, a
javax.xml.transform.stream.StreamSource
object corresponding to a
content stream with a Content-Type
value of
text/xml
, a java.awt.Image
object
corresponding to a content stream with a
Content-Type
value of image/gif
or
image/jpeg
. For those content types that an
installed DataContentHandler
object does not understand, the
DataContentHandler
object is required to return a
java.io.InputStream
object with the raw bytes.
getContent
in class AttachmentPart
AttachmentPart
objectSOAPException
- if there is no content set into this
AttachmentPart
object or if there was a data
transformation errorpublic void setContent(Object object, String contentType) throws IllegalArgumentException
AttachmentPart
Object
and sets the value of the Content-Type
header to the given type. The type of the
Object
should correspond to the value given for the
Content-Type
. This depends on the particular
set of DataContentHandler
objects in use.setContent
in class AttachmentPart
object
- the Java object that makes up the content for
this attachment partcontentType
- the MIME string that specifies the type of
the contentIllegalArgumentException
- may be thrown if the contentType
does not match the type of the content object, or if there
was no DataContentHandler
object for this
content objectAttachmentPart.getContent()
public DataHandler getDataHandler() throws SOAPException
AttachmentPart
DataHandler
object for this AttachmentPart
object.getDataHandler
in class AttachmentPart
DataHandler
object associated with this
AttachmentPart
objectSOAPException
- if there is no data in
this AttachmentPart
objectpublic void setDataHandler(DataHandler dataHandler) throws IllegalArgumentException
AttachmentPart
DataHandler
object as the data handler
for this AttachmentPart
object. Typically, on an incoming
message, the data handler is automatically set. When
a message is being created and populated with content, the
setDataHandler
method can be used to get data from
various data sources into the message.setDataHandler
in class AttachmentPart
dataHandler
- the DataHandler
object to be setIllegalArgumentException
- if there was a problem with
the specified DataHandler
objectpublic void removeAllMimeHeaders()
AttachmentPart
removeAllMimeHeaders
in class AttachmentPart
public void removeMimeHeader(String header)
AttachmentPart
removeMimeHeader
in class AttachmentPart
header
- the string name of the MIME header/s to
be removedpublic String[] getMimeHeader(String name)
AttachmentPart
String
.getMimeHeader
in class AttachmentPart
name
- the name of the header; example: "Content-Type"String
array giving the value for the
specified headerAttachmentPart.setMimeHeader(java.lang.String, java.lang.String)
public void setMimeHeader(String name, String value)
AttachmentPart
Note that RFC822 headers can only contain US-ASCII characters.
setMimeHeader
in class AttachmentPart
name
- a String
giving the name of the header
for which to searchvalue
- a String
giving the value to be set for
the header whose name matches the given namepublic void addMimeHeader(String name, String value)
AttachmentPart
AttachmentPart
object.
Note that RFC822 headers can contain only US-ASCII characters.
addMimeHeader
in class AttachmentPart
name
- a String
giving the name of the header
to be addedvalue
- a String
giving the value of the header
to be addedpublic Iterator<MimeHeader> getAllMimeHeaders()
AttachmentPart
AttachmentPart
object
as an iterator over the MimeHeader
objects.getAllMimeHeaders
in class AttachmentPart
Iterator
object with all of the Mime
headers for this AttachmentPart
objectpublic Iterator<MimeHeader> getMatchingMimeHeaders(String[] names)
AttachmentPart
MimeHeader
objects that match a name in
the given array.getMatchingMimeHeaders
in class AttachmentPart
names
- a String
array with the name(s) of the
MIME headers to be returnedIterator
objectpublic Iterator<MimeHeader> getNonMatchingMimeHeaders(String[] names)
AttachmentPart
MimeHeader
objects whose name does
not match a name in the given array.getNonMatchingMimeHeaders
in class AttachmentPart
names
- a String
array with the name(s) of the
MIME headers not to be returnedAttachmentPart
object
except those that match one of the names in the
given array. The nonmatching MIME headers are returned as an
Iterator
object.public static void copyMimeHeaders(MimeHeaders headers, MimeBodyPart mbp) throws SOAPException
SOAPException
public static void copyMimeHeaders(MimeBodyPart mbp, AttachmentPartImpl ap) throws SOAPException
SOAPException
public void setBase64Content(InputStream content, String contentType) throws SOAPException
AttachmentPart
InputStream
and sets the value of the
Content-Type
header to the value contained in
contentType
, This method would first decode the base64
input and write the resulting raw bytes to the attachment.
A subsequent call to getSize() may not be an exact measure of the content size.
setBase64Content
in class AttachmentPart
content
- the base64 encoded data to add to the attachment partcontentType
- the value to set into the Content-Type
headerSOAPException
- if an there is an error in setting the contentpublic InputStream getBase64Content() throws SOAPException
AttachmentPart
InputStream
which can be used to obtain the
content of AttachmentPart
as Base64 encoded
character data, this method would base64 encode the raw bytes
of the attachment and return.getBase64Content
in class AttachmentPart
InputStream
from which the Base64 encoded
AttachmentPart
can be read.SOAPException
- if there is no content set into this
AttachmentPart
object or if there was a data
transformation error.public void setRawContent(InputStream content, String contentType) throws SOAPException
AttachmentPart
InputStream
content
and sets the value of the
Content-Type
header to the value contained in
contentType
.
A subsequent call to getSize() may not be an exact measure of the content size.
setRawContent
in class AttachmentPart
content
- the raw data to add to the attachment partcontentType
- the value to set into the Content-Type
headerSOAPException
- if an there is an error in setting the contentpublic void setRawContentBytes(byte[] content, int off, int len, String contentType) throws SOAPException
AttachmentPart
byte[]
array content
and sets the value of the
Content-Type
header to the value contained in
contentType
.setRawContentBytes
in class AttachmentPart
content
- the raw data to add to the attachment partoff
- the offset in the byte array of the contentlen
- the number of bytes that form the contentcontentType
- the value to set into the Content-Type
headerSOAPException
- if an there is an error in setting the content
or content is nullpublic InputStream getRawContent() throws SOAPException
AttachmentPart
AttachmentPart
object as an
InputStream as if a call had been made to getContent
and no
DataContentHandler
had been registered for the
content-type
of this AttachmentPart
.
Note that reading from the returned InputStream would result in consuming
the data in the stream. It is the responsibility of the caller to reset
the InputStream appropriately before calling a Subsequent API. If a copy
of the raw attachment content is required then the AttachmentPart.getRawContentBytes()
API
should be used instead.
getRawContent
in class AttachmentPart
InputStream
from which the raw data contained by
the AttachmentPart
can be accessed.SOAPException
- if there is no content set into this
AttachmentPart
object or if there was a data
transformation error.AttachmentPart.getRawContentBytes()
public byte[] getRawContentBytes() throws SOAPException
AttachmentPart
AttachmentPart
object as a
byte[] array as if a call had been made to getContent
and no
DataContentHandler
had been registered for the
content-type
of this AttachmentPart
.getRawContentBytes
in class AttachmentPart
byte[]
array containing the raw data of the
AttachmentPart
.SOAPException
- if there is no content set into this
AttachmentPart
object or if there was a data
transformation error.public MimeHeaders getMimeHeaders()
public static void initializeJavaActivationHandlers()
Copyright © 2019 JBoss by Red Hat. All rights reserved.