This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.mail
class Multipart

javax.mail.Multipart
Direct Known Subclasses:
MimeMultipart

Most common way to construct:

Multipart mp = new MimeMultipart();

Based on 106 examples


public abstract class Multipart
extends Object

Multipart is a container that holds multiple body parts. Multipart provides methods to retrieve and set its subparts.

Multipart also acts as the base class for the content object returned by most Multipart DataContentHandlers. For example, invoking getContent() on a DataHandler whose source is a "multipart/signed" data source may return an appropriate subclass of Multipart.

Some messaging systems provide different subtypes of Multiparts. For example, MIME specifies a set of subtypes that include "alternative", "mixed", "related", "parallel", "signed", etc.

Multipart is an abstract class. Subclasses provide actual implementations.

See Also (auto-generated):

Session

Properties

Transport


Field Summary
protected String contentType
          This field specifies the content-type of this multipart object.
protected Part parent
          The Part containing this Multipart, if known.
protected Vector parts
          Vector of BodyPart objects.
 
Constructor Summary
protected

          Default constructor.
 
Method Summary
 void

          Adds a Part to the multipart.
 void
addBodyPart(BodyPart part, int index)

          Adds a BodyPart at position index.
 BodyPart
getBodyPart(int index)

          Get the specified Part.
 String

          Return the content-type of this Multipart.
 int

          Return the number of enclosed BodyPart objects.
 Part

          Return the Part that contains this Multipart object, or null if not known.
 boolean

          Remove the specified part from the multipart message.
 void
removeBodyPart(int index)

          Remove the part at specified location (starting from 0).
protected void

          Setup this Multipart object from the given MultipartDataSource.
 void
setParent(Part parent)

          Set the parent of this Multipart to be the specified Part.
abstract void

          Output an appropriately encoded bytestream to the given OutputStream.
 

Field Detail

contentType

protected String contentType
This field specifies the content-type of this multipart object. It defaults to "multipart/mixed".

parent

protected Part parent
The Part containing this Multipart, if known.

parts

protected Vector parts
Vector of BodyPart objects.
Constructor Detail

Multipart

protected Multipart()
Default constructor. An empty Multipart object is created.

Method Detail

addBodyPart

public synchronized void addBodyPart(BodyPart part)
                              throws MessagingException
Adds a Part to the multipart. The BodyPart is appended to the list of existing Parts.

Parameters:
part - The Part to be appended
Throws:
MessagingException

addBodyPart

public synchronized void addBodyPart(BodyPart part,
                                     int index)
                              throws MessagingException
Adds a BodyPart at position index. If index is not the last one in the list, the subsequent parts are shifted up. If index is larger than the number of parts present, the BodyPart is appended to the end.

Parameters:
part - The BodyPart to be inserted
index - Location where to insert the part
Throws:
MessagingException

getBodyPart

public synchronized BodyPart getBodyPart(int index)
                                  throws MessagingException
Get the specified Part. Parts are numbered starting at 0.

Parameters:
index - the index of the desired Part
Returns:
the Part
Throws:
MessagingException

getContentType

public String getContentType()
Return the content-type of this Multipart.

This implementation just returns the value of the contentType field.

Returns:
content-type

getCount

public synchronized int getCount()
                          throws MessagingException
Return the number of enclosed BodyPart objects.

Returns:
number of parts
Throws:
MessagingException

getParent

public synchronized Part getParent()
Return the Part that contains this Multipart object, or null if not known.


removeBodyPart

public synchronized boolean removeBodyPart(BodyPart part)
                                    throws MessagingException
Remove the specified part from the multipart message. Shifts all the parts after the removed part down one.

Parameters:
part - The part to remove
Returns:
true if part removed, false otherwise
Throws:
MessagingException - if no such Part exists

removeBodyPart

public synchronized void removeBodyPart(int index)
                                 throws MessagingException
Remove the part at specified location (starting from 0). Shifts all the parts after the removed part down one.

Parameters:
index - Index of the part to remove
Throws:
MessagingException

setMultipartDataSource

protected synchronized void setMultipartDataSource(MultipartDataSource mp)
                                            throws MessagingException
Setup this Multipart object from the given MultipartDataSource.

The method adds the MultipartDataSource's BodyPart objects into this Multipart. This Multipart's contentType is set to that of the MultipartDataSource.

This method is typically used in those cases where one has a multipart data source that has already been pre-parsed into the individual body parts (for example, an IMAP datasource), but needs to create an appropriate Multipart subclass that represents a specific multipart subtype.

Parameters:
mp - Multipart datasource
Throws:
MessagingException

setParent

public synchronized void setParent(Part parent)
Set the parent of this Multipart to be the specified Part. Normally called by the Message or BodyPart setContent(Multipart) method. parent may be null if the Multipart is being removed from its containing Part.

Parameters:
parent

writeTo

public abstract void writeTo(OutputStream os)
                      throws IOException,
                             MessagingException
Output an appropriately encoded bytestream to the given OutputStream. The implementation subclass decides the appropriate encoding algorithm to be used. The bytestream is typically used for sending.

Parameters:
os
Throws:
IOException - if an IO related exception occurs
MessagingException


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention. The official Sun™ documentation can be found here at http://java.sun.com/products/javamail/javadocs/index.html.