Part interface is the common base interface for
Messages and BodyParts. Part consists of a set of attributes and a "Content".
Attributes:
The JavaMail API defines a set of standard Part attributes that are considered to be common to most existing Mail systems. These attributes have their own settor and gettor methods. Mail systems may support other Part attributes as well, these are represented as name-value pairs where both the name and value are Strings.
Content:
The data type of the "content" is returned by
the getContentType() method. The MIME typing system
is used to name data types.
The "content" of a Part is available in various formats:
getDataHandler() method.
The "content" of a Part is also available through a
javax.activation.DataHandler object. The DataHandler
object allows clients to discover the operations available on the
content, and to instantiate the appropriate component to perform
those operations.
getInputStream() method.
Any mail-specific encodings are decoded before this stream is returned.
getContent() method.
This method returns the "content" as a Java object.
The returned object is of course dependent on the content
itself. In particular, a "multipart" Part's content is always a
Multipart or subclass thereof. That is, getContent() on a
"multipart" type Part will always return a Multipart (or subclass) object.
writeTo() method that streams
out its bytestream in mail-safe form suitable for transmission.
This bytestream is typically an aggregation of the Part attributes
and its content's bytestream. Message and BodyPart implement the Part interface. Note that in MIME parlance, Part models an Entity (RFC 2045, Section 2.4).
| Modifier and Type | Field and Description |
|---|---|
| public static final String | ATTACHMENT
This part should be presented as an attachment. |
| public static final String | INLINE
This part should be presented inline. |
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public Enumeration | Returns: enumeration of Header objectsReturn all the headers from this part as an Enumeration of Header objects. |
| public Object | |
| public String | Returns: The ContentType of this partReturns the Content-Type of the content of this part. |
| public DataHandler | Returns: DataHandler for the contentReturn a DataHandler for the content within this part. |
| public String | |
| public String | Returns: disposition of this part, or null if unknownReturn the disposition of this part. |
| public String | Returns: Filename to associate with this partGet the filename associated with this part, if possible. |
| public String[] | |
| public InputStream | |
| public int | Returns: number of lines in the content.Return the number of lines in the content of this part. |
| public Enumeration | Returns: enumeration of Header objectsthe headers to match header_names)Return matching headers from this part as an Enumeration of Header objects. |
| public Enumeration | Returns: enumeration of Header objectsthe headers to not match header_names)Return non-matching headers from this envelope as an Enumeration of Header objects. |
| public int | |
| public boolean | Returns: true if this part is of the specified typethe MIME type to test mimeType)Is this Part of the specified MIME type? |
| public void | |
| public void | setContent(Object
A java object. obj, String MIME type of this object. type)A convenience method for setting this part's content. |
| public void | setContent(Multipart
The multipart object that is the Message's content mp)This method sets the given Multipart object as this message's content. |
| public void | setDataHandler(DataHandler
The DataHandler for the content. dh)This method provides the mechanism to set this part's content. |
| public void | |
| public void | |
| public void | setFileName(String
Filename to associate with this part filename)Set the filename associated with this part, if possible. |
| public void | |
| public void | |
| public void |
| ATTACHMENT | back to summary |
|---|---|
| public static final String ATTACHMENT This part should be presented as an attachment.
| |
| INLINE | back to summary |
|---|---|
| public static final String INLINE This part should be presented inline.
| |
| addHeader | back to summary |
|---|---|
| public void addHeader(String header_name, String header_value) throws MessagingException Add this value to the existing values for this header_name.
| |
| getAllHeaders | back to summary |
|---|---|
| public Enumeration Return all the headers from this part as an Enumeration of Header objects.
| |
| getContent | back to summary |
|---|---|
| public Object getContent() throws IOException, MessagingException Return the content as a Java object. The type of the returned object is of course dependent on the content itself. For example, the object returned for "text/plain" content is usually a String object. The object returned for a "multipart" content is always a Multipart subclass. For content-types that are unknown to the DataHandler system, an input stream is returned as the content This is a convenience method that just invokes the DataHandler's getContent() method
| |
| getContentType | back to summary |
|---|---|
| public String getContentType() throws MessagingException Returns the Content-Type of the content of this part. Returns null if the Content-Type could not be determined. The MIME typing system is used to name Content-types.
| |
| getDataHandler | back to summary |
|---|---|
| public DataHandler getDataHandler() throws MessagingException Return a DataHandler for the content within this part. The DataHandler allows clients to operate on as well as retrieve the content.
| |
| getDescription | back to summary |
|---|---|
| public String getDescription() throws MessagingException Return a description String for this part. This typically associates some descriptive information with this part. Returns null if none is available.
| |
| getDisposition | back to summary |
|---|---|
| public String getDisposition() throws MessagingException Return the disposition of this part. The disposition describes how the part should be presented to the user. (See RFC 2183.) The return value should be considered without regard to case. For example: String disp = part.getDisposition(); if (disp == null || disp.equalsIgnoreCase(Part.ATTACHMENT)) // treat as attachment if not first part
| |
| getFileName | back to summary |
|---|---|
| public String getFileName() throws MessagingException Get the filename associated with this part, if possible. Useful if this part represents an "attachment" that was loaded from a file. The filename will usually be a simple name, not including directory components.
| |
| getHeader | back to summary |
|---|---|
| public String[] getHeader(String header_name) throws MessagingException Get all the headers for this header name. Returns
| |
| getInputStream | back to summary |
|---|---|
| public InputStream getInputStream() throws IOException, MessagingException Return an input stream for this part's "content". Any mail-specific transfer encodings will be decoded before the input stream is provided.
This is typically a convenience method that just invokes
the DataHandler's
| |
| getLineCount | back to summary |
|---|---|
| public int getLineCount() throws MessagingException Return the number of lines in the content of this part. Return -1 if the number cannot be determined. Note that this number may not be an exact measure of the content length and may or may not account for any transfer encoding of the content.
| |
| getMatchingHeaders | back to summary |
|---|---|
| public Enumeration Return matching headers from this part as an Enumeration of Header objects.
| |
| getNonMatchingHeaders | back to summary |
|---|---|
| public Enumeration Return non-matching headers from this envelope as an Enumeration of Header objects.
| |
| getSize | back to summary |
|---|---|
| public int getSize() throws MessagingException Return the size of the content of this part in bytes. Return -1 if the size cannot be determined. Note that the size may not be an exact measure of the content size and may or may not account for any transfer encoding of the content. The size is appropriate for display in a user interface to give the user a rough idea of the size of this part.
| |
| isMimeType | back to summary |
|---|---|
| public boolean isMimeType(String mimeType) throws MessagingException Is this Part of the specified MIME type? This method
compares only the
For example, this method will return
If the
| |
| removeHeader | back to summary |
|---|---|
| public void removeHeader(String header_name) throws MessagingException Remove all headers with this name.
| |
| setContent | back to summary |
|---|---|
| public void setContent(Object obj, String type) throws MessagingException A convenience method for setting this part's content. The part internally wraps the content in a DataHandler.
Note that a DataContentHandler class for the specified type should
be available to the JavaMail implementation for this to work right.
i.e., to do
| |
| setContent | back to summary |
|---|---|
| public void setContent(Multipart mp) throws MessagingException This method sets the given Multipart object as this message's content.
| |
| setDataHandler | back to summary |
|---|---|
| public void setDataHandler(DataHandler dh) throws MessagingException This method provides the mechanism to set this part's content. The DataHandler wraps around the actual content.
| |
| setDescription | back to summary |
|---|---|
| public void setDescription(String description) throws MessagingException Set a description String for this part. This typically associates some descriptive information with this part.
| |
| setDisposition | back to summary |
|---|---|
| public void setDisposition(String disposition) throws MessagingException Set the disposition of this part.
| |
| setFileName | back to summary |
|---|---|
| public void setFileName(String filename) throws MessagingException Set the filename associated with this part, if possible. Useful if this part represents an "attachment" that was loaded from a file. The filename will usually be a simple name, not including directory components.
| |
| setHeader | back to summary |
|---|---|
| public void setHeader(String header_name, String header_value) throws MessagingException Set the value for this header_name. Replaces all existing header values with this new value.
| |
| setText | back to summary |
|---|---|
| public void setText(String text) throws MessagingException A convenience method that sets the given String as this part's content with a MIME type of "text/plain".
| |
| writeTo | back to summary |
|---|---|
| public void writeTo(OutputStream os) throws IOException, MessagingException Output a bytestream for this Part. This bytestream is typically an aggregration of the Part attributes and an appropriately encoded bytestream from its 'content'. Classes that implement the Part interface decide on the appropriate encoding algorithm to be used. The bytestream is typically used for sending.
| |