public final class CompositeMailMessage extends MailMessage
CompositeMailMessage - Extends the common MailMessage class by the possibility to add extra parts to an existing
MailMessage instance whose MIME type is multipart/*COLOR_LABEL_NONE, COLOR_LABEL_PREFIX, COLOR_LABEL_PREFIX_OLD, FLAG_ANSWERED, FLAG_DELETED, FLAG_DRAFT, FLAG_FLAGGED, FLAG_FORWARDED, FLAG_READ_ACK, FLAG_RECENT, FLAG_SEEN, FLAG_SPAM, FLAG_USER, PRIORITY_HIGH, PRIORITY_HIGHEST, PRIORITY_LOW, PRIORITY_LOWEST, PRIORITY_NORMAL, USER_FORWARDED, USER_READ_ACKNO_ENCLOSED_PARTS| Constructor and Description |
|---|
CompositeMailMessage(MailMessage delegate)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAdditionalParts(MailPart mailPart)
Appends the specified mail part
|
boolean |
containsRecentCount() |
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.
|
java.io.InputStream |
getInputStream()
Returns an input stream for this part.
|
java.lang.String |
getMailId()
Gets the implementation-specific unique ID of this mail in its mail folder.
|
java.util.Date |
getReceivedDateDirect()
Gets the received date directly which represents the internal timestamp set by mail server on arrival.
|
int |
getRecentCount()
Gets the number of recent mails in associated folder.
|
int |
getUnreadMessages()
Gets the number of unread messages
|
boolean |
hasHeaders(java.lang.String... names)
Checks if this part contains all of specified headers.
|
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
|
MailPart |
removeAdditionalParts(int index)
Removes the mail part at the specified position.
|
void |
removeRecentCount()
Removes the recent count.
|
void |
setMailId(java.lang.String id)
Sets the implementation-specific unique mail ID of this mail in its mail folder.
|
void |
setRecentCount(int recentCount)
Sets the number of recent mails in associated folder.
|
void |
setUnreadMessages(int unreadMessages)
Sets the number of unread messages
|
void |
writeTo(java.io.OutputStream out)
Writes complete part's data into given output stream
|
addBcc, addBcc, addCc, addCc, addFrom, addFrom, addTo, addTo, addUserFlag, addUserFlags, clone, containsAccountId, containsAccountName, containsAppendVCard, containsBcc, containsCc, containsColorLabel, containsDispositionNotification, containsFlags, containsFolder, containsFrom, containsHasAttachment, containsMessageId, containsPrevSeen, containsPriority, containsReceivedDate, containsReferences, containsSentDate, containsSubject, containsThreadLevel, containsTo, containsUserFlags, getAccountId, getAccountName, getBcc, getCc, getColorLabel, getColorLabelIntValue, getColorLabelStringValue, getDispositionNotification, getFlags, getFolder, getFrom, getInReplyTo, getMailPath, getMessageId, getPriority, getReceivedDate, getReferences, getSentDate, getSubject, getThreadLevel, getTo, getUserFlags, hasAttachment, isAnswered, isAppendVCard, isColorLabel, isDeleted, isDraft, isFlagged, isForwarded, isPrevSeen, isReadAcknowledgment, isRecent, isSeen, isSpam, isUser, parseColorLabel, removeAccountId, removeAccountName, removeAppendVCard, removeBcc, removeCc, removeColorLabel, removeDispositionNotification, removeFlags, removeFolder, removeFrom, removeHasAttachment, removeMessageId, removePrevSeen, removePriority, removeReceivedDate, removeReferences, removeSentDate, removeSubject, removeThreadLevel, removeTo, removeUserFlags, setAccountId, setAccountName, setAppendVCard, setColorLabel, setDispositionNotification, setFlag, setFlags, setFolder, setHasAttachment, setMessageId, setPrevSeen, setPriority, setReceivedDate, setReferences, setReferences, setSentDate, setSubject, setThreadLeveladdHeader, addHeaders, 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, removeContentDisposition, removeContentId, removeContentType, removeFileName, removeHeader, removeHeaders, removeMsgref, removeSequenceId, removeSize, setContentDisposition, setContentDisposition, setContentId, setContentType, setContentType, setFileName, setHeader, setMsgref, setSequenceId, setSizepublic CompositeMailMessage(MailMessage delegate) throws com.openexchange.exception.OXException
delegate - The delegate mailcom.openexchange.exception.OXException - If invocation of MailPart.getEnclosedCount() failspublic void addAdditionalParts(MailPart mailPart)
mailPart - The mail part to addpublic MailPart removeAdditionalParts(int index)
index - The indexpublic 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 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 java.lang.String getMailId()
MailMessagegetMailId in class MailMessagenull if not available.public void setMailId(java.lang.String id)
MailMessagesetMailId in class MailMessageid - The mail ID or null to indicate its absencepublic int getUnreadMessages()
MailMessagegetUnreadMessages in class MailMessagepublic void setUnreadMessages(int unreadMessages)
MailMessagesetUnreadMessages in class MailMessageunreadMessages - The number of unread messagespublic boolean hasHeaders(java.lang.String... names)
MailParthasHeaders in class MailPartnames - The names of the headers to checktrue if this part contains all of specified headers; otherwise falsepublic java.util.Date getReceivedDateDirect()
MailMessagegetReceivedDateDirect in class MailMessagepublic int getRecentCount()
MailMessagegetRecentCount in class MailMessagepublic boolean containsRecentCount()
containsRecentCount in class MailMessagetrue if number of recent mails is set; otherwise falsepublic void removeRecentCount()
MailMessageremoveRecentCount in class MailMessagepublic void setRecentCount(int recentCount)
MailMessagesetRecentCount in class MailMessagerecentCount - The recent countpublic void writeTo(java.io.OutputStream out)
throws com.openexchange.exception.OXException
MailPart