javax.mail

Class Multipart

Known Direct Subclasses:
MimeMultipart

public abstract class Multipart
extends java.lang.Object

A container for multiple BodyParts.

Field Summary

protected String
contentType
The content type of this multipart object; defaults to "multipart/mixed"
protected Part
parent
The Part that contains this multipart.
protected Vector
parts
Vector of sub-parts.

Constructor Summary

Multipart()

Method Summary

void
addBodyPart(BodyPart part)
Add a part to the end of the list.
void
addBodyPart(BodyPart part, int pos)
Insert a part into the list at a designated point; all subsequent parts move down
BodyPart
getBodyPart(int index)
Get the specified part; numbering starts at zero.
String
getContentType()
Return the content type.
int
getCount()
Return the number of enclosed parts
Part
getParent()
Return the Part containing this Multipart object or null if unknown.
void
removeBodyPart(int index)
Remove the specified part; all others move down one
boolean
removeBodyPart(BodyPart part)
Remove the supplied part from the list.
protected void
setMultipartDataSource(MultipartDataSource mds)
Initialize this multipart object from the supplied data source.
void
setParent(Part part)
Set the parent of this Multipart object
abstract void
writeTo(OutputStream out)
Encode and write this multipart to the supplied OutputStream; the encoding used is determined by the implementation.

Field Details

contentType

protected String contentType
The content type of this multipart object; defaults to "multipart/mixed"

parent

protected Part parent
The Part that contains this multipart.

parts

protected Vector parts
Vector of sub-parts.

Constructor Details

Multipart

protected Multipart()

Method Details

addBodyPart

public void addBodyPart(BodyPart part)
            throws MessagingException
Add a part to the end of the list.
Parameters:
part - the part to add

addBodyPart

public void addBodyPart(BodyPart part,
                        int pos)
            throws MessagingException
Insert a part into the list at a designated point; all subsequent parts move down
Parameters:
part - the part to add
pos - the index of the new part

getBodyPart

public BodyPart getBodyPart(int index)
            throws MessagingException
Get the specified part; numbering starts at zero.
Parameters:
index - the part to get
Returns:
the part

getContentType

public String getContentType()
Return the content type.
Returns:
the content type

getCount

public int getCount()
            throws MessagingException
Return the number of enclosed parts
Returns:
the number of parts

getParent

public Part getParent()
Return the Part containing this Multipart object or null if unknown.
Returns:
this Multipart's parent

removeBodyPart

public void removeBodyPart(int index)
            throws MessagingException
Remove the specified part; all others move down one
Parameters:
index - the part to remove

removeBodyPart

public boolean removeBodyPart(BodyPart part)
            throws MessagingException
Remove the supplied part from the list.
Parameters:
part - the part to remove
Returns:
true if the part was removed

setMultipartDataSource

protected void setMultipartDataSource(MultipartDataSource mds)
            throws MessagingException
Initialize this multipart object from the supplied data source. This adds any BodyParts into this object and initializes the content type.
Parameters:
mds - the data source

setParent

public void setParent(Part part)
Set the parent of this Multipart object
Parameters:
part - this object's parent

writeTo

public abstract void writeTo(OutputStream out)
            throws IOException,
                   MessagingException
Encode and write this multipart to the supplied OutputStream; the encoding used is determined by the implementation.
Parameters:
out - the stream to write to