javax.mail
Class Multipart
public abstract class Multipart
extends java.lang.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.
| protected  String | contentType This field specifies the content-type of this multipart object.
 | 
| protected  Part | parent The Part containing this Multipart, if known.
 | 
| protected  List | parts List of BodyPart objects.
 | 
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 List parts
 List of BodyPart objects.
Multipart
protected Multipart()
 Default constructor. An empty Multipart object is created.
addBodyPart
public void addBodyPart(BodyPart part)
            throws MessagingException Adds a Part to the multipart. 
 The BodyPart is appended to the list of existing Parts.
- part- The Part to be appended
addBodyPart
public 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.
- part- The BodyPart to be inserted
- index- Location where to insert the part
getBodyPart
public BodyPart getBodyPart(int index)
            throws MessagingException Get the specified Part.
 Parts are numbered starting at 0.
- index- the index of the desired Part
getContentType
public String getContentType()
 Return the content-type of this Multipart.
 
 This implementation just returns the value of the 
 
contentType field.
getCount
public int getCount()
            throws MessagingException Return the number of enclosed BodyPart objects.
getParent
public Part getParent()
 Return the Part that contains this Multipart object, or null if not known.
removeBodyPart
public 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.
- index- Index of the part to remove
removeBodyPart
public boolean removeBodyPart(BodyPart part)
            throws MessagingException Remove the specified part from the multipart message.
 Shifts all the parts after the removed part down one.
- part- The part to remove
- true if part removed, false otherwise
- MessagingException- if no such Part exists
setMultipartDataSource
protected 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.
- mp- Multipart datasource
setParent
public void setParent(Part part)
 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.
writeTo
public 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.