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, setContentTypeprotected static final Logger log
public AttachmentPartImpl()
public AttachmentPartImpl(MIMEPart part)
public int getSize()
throws SOAPException
AttachmentPartAttachmentPart
object.getSize in class AttachmentPartAttachmentPart 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()
AttachmentPartAttachmentPart object.
The MIME header portion is left untouched.clearContent in class AttachmentPartpublic Object getContent() throws SOAPException
AttachmentPartAttachmentPart 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 AttachmentPartAttachmentPart
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
AttachmentPartObject 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 AttachmentPartobject - 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
AttachmentPartDataHandler object for this AttachmentPart
object.getDataHandler in class AttachmentPartDataHandler object associated with this
AttachmentPart objectSOAPException - if there is no data in
this AttachmentPart objectpublic void setDataHandler(DataHandler dataHandler) throws IllegalArgumentException
AttachmentPartDataHandler 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 AttachmentPartdataHandler - the DataHandler object to be setIllegalArgumentException - if there was a problem with
the specified DataHandler objectpublic void removeAllMimeHeaders()
AttachmentPartremoveAllMimeHeaders in class AttachmentPartpublic void removeMimeHeader(String header)
AttachmentPartremoveMimeHeader in class AttachmentPartheader - the string name of the MIME header/s to
be removedpublic String[] getMimeHeader(String name)
AttachmentPartString.getMimeHeader in class AttachmentPartname - 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)
AttachmentPartNote that RFC822 headers can only contain US-ASCII characters.
setMimeHeader in class AttachmentPartname - 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)
AttachmentPartAttachmentPart object.
Note that RFC822 headers can contain only US-ASCII characters.
addMimeHeader in class AttachmentPartname - 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()
AttachmentPartAttachmentPart object
as an iterator over the MimeHeader objects.getAllMimeHeaders in class AttachmentPartIterator object with all of the Mime
headers for this AttachmentPart objectpublic Iterator<MimeHeader> getMatchingMimeHeaders(String[] names)
AttachmentPartMimeHeader objects that match a name in
the given array.getMatchingMimeHeaders in class AttachmentPartnames - a String array with the name(s) of the
MIME headers to be returnedIterator objectpublic Iterator<MimeHeader> getNonMatchingMimeHeaders(String[] names)
AttachmentPartMimeHeader objects whose name does
not match a name in the given array.getNonMatchingMimeHeaders in class AttachmentPartnames - 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
SOAPExceptionpublic static void copyMimeHeaders(MimeBodyPart mbp, AttachmentPartImpl ap) throws SOAPException
SOAPExceptionpublic void setBase64Content(InputStream content, String contentType) throws SOAPException
AttachmentPartInputStream 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 AttachmentPartcontent - 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
AttachmentPartInputStream 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 AttachmentPartInputStream 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
AttachmentPartInputStream 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 AttachmentPartcontent - 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
AttachmentPartbyte[] array content and sets the value of the
Content-Type header to the value contained in
contentType.setRawContentBytes in class AttachmentPartcontent - 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
AttachmentPartAttachmentPart 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 AttachmentPartInputStream 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
AttachmentPartAttachmentPart 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 AttachmentPartbyte[] 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.