public final class JsonMessageHandler extends java.lang.Object implements MailMessageHandler
JsonMessageHandler - Generates a JSON message representation considering user-sensitive data.| Constructor and Description |
|---|
JsonMessageHandler(int accountId,
MailPath mailPath,
MailMessage mail,
DisplayMode displayMode,
boolean embedded,
com.openexchange.session.Session session,
UserSettingMail usm,
boolean token,
int ttlMillis)
Initializes a new
JsonMessageHandler |
JsonMessageHandler(int accountId,
java.lang.String mailPath,
DisplayMode displayMode,
boolean embedded,
com.openexchange.session.Session session,
UserSettingMail usm,
boolean token,
int ttlMillis)
Initializes a new
JsonMessageHandler |
| Modifier and Type | Method and Description |
|---|---|
org.json.JSONObject |
getJSONObject()
Gets the filled instance of
JSONObject |
boolean |
handleAttachment(MailPart part,
boolean isInline,
java.lang.String baseContentType,
java.lang.String fileName,
java.lang.String id)
Handle an attachment part (any non-inline parts and file attachments)
|
boolean |
handleBccRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
Handle the 'Bcc' recipient message header
|
boolean |
handleCcRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
Handle the 'Cc' recipient message header
|
boolean |
handleColorLabel(int colorLabel)
Handle message's color label
|
boolean |
handleContentId(java.lang.String contentId)
Handle content id
|
boolean |
handleDispositionNotification(javax.mail.internet.InternetAddress dispositionNotificationTo,
boolean seen)
Handle message's disposition notification
|
boolean |
handleFrom(javax.mail.internet.InternetAddress[] fromAddrs)
Handle the 'From' message header
|
boolean |
handleHeaders(int size,
java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.String>> iter)
Handle those message headers which cannot be handled through a
handleXXX method |
boolean |
handleImagePart(MailPart part,
java.lang.String imageCID,
java.lang.String baseContentType,
boolean isInline,
java.lang.String fileName,
java.lang.String id)
Handle an image part (
image/*) |
boolean |
handleInlineHtml(java.lang.String htmlContent,
ContentType contentType,
long size,
java.lang.String fileName,
java.lang.String id)
Handle a html inline part (
text/html) |
boolean |
handleInlinePlainText(java.lang.String plainTextContentArg,
ContentType contentType,
long size,
java.lang.String fileName,
java.lang.String id)
Handle a plain text inline part (either
text/plain or text/enriched) |
boolean |
handleInlineUUEncodedAttachment(UUEncodedPart part,
java.lang.String id)
Handle a UUEncoded file attachment inline part
|
boolean |
handleInlineUUEncodedPlainText(java.lang.String decodedTextContent,
ContentType contentType,
int size,
java.lang.String fileName,
java.lang.String id)
Handle a UUEncoded plain text inline part
|
void |
handleMessageEnd(MailMessage mail)
Perform some optional finishing operations
|
boolean |
handleMsgRef(java.lang.String msgRef)
Handle referenced mail
|
boolean |
handleMultipart(MailPart mp,
int bodyPartCount,
java.lang.String id)
Handle a multipart (
multipart/*) |
boolean |
handleMultipartEnd(MailPart mp,
java.lang.String id)
Handle end of a multipart (
multipart/*) |
boolean |
handleNestedMessage(MailPart mailPart,
java.lang.String id)
Handle a nested message (
message/rfc822)
Get the message via:
MailMessage nestedMail = (MailMessage) mailPart.getContent();
|
boolean |
handlePriority(int priority)
Handle message's priority
|
boolean |
handleReceivedDate(java.util.Date receivedDate)
Handle message's received date
|
boolean |
handleSentDate(java.util.Date sentDate)
Handle message's sent date
|
boolean |
handleSpecialPart(MailPart part,
java.lang.String baseContentType,
java.lang.String fileName,
java.lang.String id)
Handle special parts.
|
boolean |
handleSubject(java.lang.String subject)
Handle message's subject
|
boolean |
handleSystemFlags(int flags)
Handle message's system flags (//SEEN, //ANSWERED, ...)
|
boolean |
handleToRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
Handle the 'To' recipient message header
|
boolean |
handleUserFlags(java.lang.String[] userFlags)
Handle message's user flags
|
JsonMessageHandler |
setAttachHTMLAlternativePart(boolean attachHTMLAlternativePart)
Sets whether the HTML part of a multipart/alternative content shall be attached.
|
JsonMessageHandler |
setExactLength(boolean exactLength)
Sets whether to set the exact length of mail parts.
|
JsonMessageHandler |
setIncludePlainText(boolean includePlainText)
Sets whether to include raw plain-text in generated JSON object.
|
JsonMessageHandler |
setTimeZone(java.util.TimeZone timeZone)
Sets the time zone.
|
public JsonMessageHandler(int accountId,
java.lang.String mailPath,
DisplayMode displayMode,
boolean embedded,
com.openexchange.session.Session session,
UserSettingMail usm,
boolean token,
int ttlMillis)
throws com.openexchange.exception.OXException
JsonMessageHandleraccountId - The account IDmailPath - The unique mail pathdisplayMode - The display modesession - The session providing needed user datausm - The mail settings used for preparing message content if displayVersion is set to true; otherwise
it is ignored.com.openexchange.exception.OXException - If JSON message handler cannot be initializedpublic JsonMessageHandler(int accountId,
MailPath mailPath,
MailMessage mail,
DisplayMode displayMode,
boolean embedded,
com.openexchange.session.Session session,
UserSettingMail usm,
boolean token,
int ttlMillis)
throws com.openexchange.exception.OXException
JsonMessageHandleraccountId - The account IDmailPath - The unique mail pathmail - The mail message to add JSON fields not set by message parser traversaldisplayMode - The display modesession - The session providing needed user datausm - The mail settings used for preparing message content if displayVersion is set to true; otherwise
it is ignored.token - true to add attachment tokensttlMillis - The tokens' timeoutcom.openexchange.exception.OXException - If JSON message handler cannot be initializedpublic JsonMessageHandler setExactLength(boolean exactLength)
exactLength - true to set the exact length of mail parts; otherwise use mail system's size estimationJsonMessageHandler with new behavior appliedpublic JsonMessageHandler setAttachHTMLAlternativePart(boolean attachHTMLAlternativePart)
attachHTMLAlternativePart - Whether the HTML part of a multipart/alternative content shall be attachedJsonMessageHandler with new behavior appliedpublic JsonMessageHandler setIncludePlainText(boolean includePlainText)
includePlainText - true to include raw plain-text; otherwise falseJsonMessageHandler with new behavior appliedpublic JsonMessageHandler setTimeZone(java.util.TimeZone timeZone)
timeZone - The time zonepublic boolean handleAttachment(MailPart part, boolean isInline, java.lang.String baseContentType, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlerhandleAttachment in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleBccRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleBccRecipient in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleCcRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleCcRecipient in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleColorLabel(int colorLabel)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleColorLabel in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleContentId(java.lang.String contentId)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleContentId in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleFrom(javax.mail.internet.InternetAddress[] fromAddrs)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleFrom in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleHeaders(int size,
java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.String>> iter)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleXXX methodhandleHeaders in interface MailMessageHandlersize - The iterator's size or -1 to use Iterator.hasNext() insteaditer - The header iteratortrue to continue parsing; otherwise falsecom.openexchange.exception.OXExceptionpublic boolean handleImagePart(MailPart part, java.lang.String imageCID, java.lang.String baseContentType, boolean isInline, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlerimage/*)handleImagePart in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleInlineHtml(java.lang.String htmlContent,
ContentType contentType,
long size,
java.lang.String fileName,
java.lang.String id)
throws com.openexchange.exception.OXException
MailMessageHandlertext/html)handleInlineHtml in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleInlinePlainText(java.lang.String plainTextContentArg,
ContentType contentType,
long size,
java.lang.String fileName,
java.lang.String id)
throws com.openexchange.exception.OXException
MailMessageHandlertext/plain or text/enriched)handleInlinePlainText in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleInlineUUEncodedAttachment(UUEncodedPart part, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlerhandleInlineUUEncodedAttachment in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleInlineUUEncodedPlainText(java.lang.String decodedTextContent,
ContentType contentType,
int size,
java.lang.String fileName,
java.lang.String id)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleInlineUUEncodedPlainText in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic void handleMessageEnd(MailMessage mail) throws com.openexchange.exception.OXException
MailMessageHandlerhandleMessageEnd in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleMultipart(MailPart mp, int bodyPartCount, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlermultipart/*)handleMultipart in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleMultipartEnd(MailPart mp, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlermultipart/*)handleMultipartEnd in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleNestedMessage(MailPart mailPart, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlermessage/rfc822)
Get the message via:
MailMessage nestedMail = (MailMessage) mailPart.getContent();
handleNestedMessage in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handlePriority(int priority)
throws com.openexchange.exception.OXException
MailMessageHandlerhandlePriority in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleMsgRef(java.lang.String msgRef)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleMsgRef in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleDispositionNotification(javax.mail.internet.InternetAddress dispositionNotificationTo,
boolean seen)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleDispositionNotification in interface MailMessageHandlerseen - TODOcom.openexchange.exception.OXExceptionpublic boolean handleReceivedDate(java.util.Date receivedDate)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleReceivedDate in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleSentDate(java.util.Date sentDate)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleSentDate in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleSpecialPart(MailPart part, java.lang.String baseContentType, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandlermessage/delivery-status,
message/disposition-notification, text/rfc822-headers, text/x-vcard, text/vcard,
text/calendar or text/x-vCalendarhandleSpecialPart in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleSubject(java.lang.String subject)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleSubject in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleSystemFlags(int flags)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleSystemFlags in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleToRecipient(javax.mail.internet.InternetAddress[] recipientAddrs)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleToRecipient in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic boolean handleUserFlags(java.lang.String[] userFlags)
throws com.openexchange.exception.OXException
MailMessageHandlerhandleUserFlags in interface MailMessageHandlercom.openexchange.exception.OXExceptionpublic org.json.JSONObject getJSONObject()
JSONObjectJSONObject