public final class MIMEMultipartMailPart extends MailPart
MIMEMultipartMailPart - An implementation of MailPart for mail parts of MIME type multipart/*.
Parsing of multipart data is based on Knuth-Morris-Pratt (KMP) algorithm.
NO_ENCLOSED_PARTS| Constructor and Description |
|---|
MIMEMultipartMailPart(byte[] inputData)
Initializes a new
MIMEMultipartMailPart. |
MIMEMultipartMailPart(ContentType contentType,
byte[] inputData)
Initializes a new
MIMEMultipartMailPart. |
MIMEMultipartMailPart(ContentType contentType,
javax.activation.DataSource dataSource)
Initializes a new
MIMEMultipartMailPart. |
MIMEMultipartMailPart(javax.activation.DataSource dataSource)
Initializes a new
MIMEMultipartMailPart. |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
getContent()
Returns the part's content as a Java object dependent on underlying implementation.
|
javax.activation.DataHandler |
getDataHandler()
Returns an appropriate
DataHandler for this mail part. |
int |
getEnclosedCount()
Gets the number of enclosed mail parts.
|
MailPart |
getEnclosedMailPart(int index)
Gets the mail part located at given index.
|
static int |
getHeaderEnd(byte[] dataBytes) |
java.io.InputStream |
getInputStream()
Returns an input stream for this part.
|
void |
loadContent()
Ensures that the part's content is loaded, thus this part is independent of the original.
|
void |
prepareForCaching()
Prepares this mail part to be put into cache; meaning to release all kept resources
|
void |
writeTo(java.io.OutputStream out)
Writes complete part's data into given output stream
|
addHeader, addHeaders, clone, containsContentDisposition, containsContentId, containsContentType, containsFileName, containsHeader, containsHeaders, containsMsgref, containsSequenceId, containsSize, getContentDisposition, getContentId, getContentType, getFileName, getFirstHeader, getHeader, getHeader, getHeader, getHeaders, getHeadersIterator, getHeadersSize, getMatchingHeaders, getMsgref, getNonMatchingHeaders, getSequenceId, getSize, getSource, getSourceBytes, hasEnclosedParts, hasHeaders, removeContentDisposition, removeContentId, removeContentType, removeFileName, removeHeader, removeHeaders, removeMsgref, removeSequenceId, removeSize, setContentDisposition, setContentDisposition, setContentId, setContentType, setContentType, setFileName, setHeader, setMsgref, setSequenceId, setSizepublic MIMEMultipartMailPart(javax.activation.DataSource dataSource)
throws com.openexchange.exception.OXException
MIMEMultipartMailPart.dataSource - The data sourcecom.openexchange.exception.OXException - If reading input stream failspublic MIMEMultipartMailPart(ContentType contentType, javax.activation.DataSource dataSource) throws com.openexchange.exception.OXException
MIMEMultipartMailPart.contentType - The content type; may be nulldataSource - The data sourcecom.openexchange.exception.OXException - If reading input stream failspublic MIMEMultipartMailPart(byte[] inputData)
throws com.openexchange.exception.OXException
MIMEMultipartMailPart.inputData - The input datacom.openexchange.exception.OXException - If reading input stream failspublic MIMEMultipartMailPart(ContentType contentType, byte[] inputData) throws com.openexchange.exception.OXException
MIMEMultipartMailPart.contentType - The content type; may be nullinputData - The input datacom.openexchange.exception.OXException - If reading input stream failspublic java.lang.Object getContent()
throws com.openexchange.exception.OXException
MailPartmultipart/*getContent in class MailPartnull if not applicablecom.openexchange.exception.OXException - If content cannot be returned as a Java objectpublic javax.activation.DataHandler getDataHandler()
throws com.openexchange.exception.OXException
MailPartDataHandler for this mail part. multipart/*getDataHandler in class MailPartDataHandler or null if not applicablecom.openexchange.exception.OXException - If an appropriate DataHandler cannot be returnedpublic int getEnclosedCount()
throws com.openexchange.exception.OXException
MailPartmultipart/*getEnclosedCount in class MailPartMailPart.NO_ENCLOSED_PARTS if not applicablecom.openexchange.exception.OXExceptionMailPart.NO_ENCLOSED_PARTSpublic static int getHeaderEnd(byte[] dataBytes)
public MailPart getEnclosedMailPart(int index) throws com.openexchange.exception.OXException
MailPartmultipart/*getEnclosedMailPart in class MailPartindex - The index of desired mail part or null if not applicablecom.openexchange.exception.OXExceptionpublic java.io.InputStream getInputStream()
throws com.openexchange.exception.OXException
MailPartmultipart/*getInputStream in class MailPartnull if not applicablecom.openexchange.exception.OXException - If no input stream could be returnedpublic void loadContent()
throws com.openexchange.exception.OXException
MailPartThis method is intended for mailing systems that read the contents stepwise on demand. If dealing with such a mail part with its underlying connection closed, the part's content is no more accessible. Otherwise this method may be implemented with an empty body.
Moreover the loaded content is no more discarded when MailPart.prepareForCaching() is invoked.
loadContent in class MailPartcom.openexchange.exception.OXException - If loading part's content failspublic void prepareForCaching()
MailPartprepareForCaching in class MailPartpublic void writeTo(java.io.OutputStream out)
throws com.openexchange.exception.OXException
MailPart