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_ACK
NO_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, setThreadLevel
addHeader, 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, setSize
public 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
MailPart
multipart/*
getContent
in class MailPart
null
if not applicablecom.openexchange.exception.OXException
- If content cannot be returned as a Java objectpublic javax.activation.DataHandler getDataHandler() throws com.openexchange.exception.OXException
MailPart
DataHandler
for this mail part. multipart/*
getDataHandler
in class MailPart
DataHandler
or null
if not applicablecom.openexchange.exception.OXException
- If an appropriate DataHandler
cannot be returnedpublic int getEnclosedCount() throws com.openexchange.exception.OXException
MailPart
multipart/*
getEnclosedCount
in class MailPart
MailPart.NO_ENCLOSED_PARTS
if not applicablecom.openexchange.exception.OXException
MailPart.NO_ENCLOSED_PARTS
public MailPart getEnclosedMailPart(int index) throws com.openexchange.exception.OXException
MailPart
multipart/*
getEnclosedMailPart
in class MailPart
index
- The index of desired mail part or null
if not applicablecom.openexchange.exception.OXException
public java.io.InputStream getInputStream() throws com.openexchange.exception.OXException
MailPart
multipart/*
getInputStream
in class MailPart
null
if not applicablecom.openexchange.exception.OXException
- If no input stream could be returnedpublic void loadContent() throws com.openexchange.exception.OXException
MailPart
This 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 MailPart
com.openexchange.exception.OXException
- If loading part's content failspublic void prepareForCaching()
MailPart
prepareForCaching
in class MailPart
public java.lang.String getMailId()
MailMessage
getMailId
in class MailMessage
null
if not available.public void setMailId(java.lang.String id)
MailMessage
setMailId
in class MailMessage
id
- The mail ID or null
to indicate its absencepublic int getUnreadMessages()
MailMessage
getUnreadMessages
in class MailMessage
public void setUnreadMessages(int unreadMessages)
MailMessage
setUnreadMessages
in class MailMessage
unreadMessages
- The number of unread messagespublic boolean hasHeaders(java.lang.String... names)
MailPart
hasHeaders
in class MailPart
names
- The names of the headers to checktrue
if this part contains all of specified headers; otherwise false
public java.util.Date getReceivedDateDirect()
MailMessage
getReceivedDateDirect
in class MailMessage
public int getRecentCount()
MailMessage
getRecentCount
in class MailMessage
public boolean containsRecentCount()
containsRecentCount
in class MailMessage
true
if number of recent mails is set; otherwise false
public void removeRecentCount()
MailMessage
removeRecentCount
in class MailMessage
public void setRecentCount(int recentCount)
MailMessage
setRecentCount
in class MailMessage
recentCount
- The recent countpublic void writeTo(java.io.OutputStream out) throws com.openexchange.exception.OXException
MailPart