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
JsonMessageHandler
accountId
- 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
JsonMessageHandler
accountId
- 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 false
JsonMessageHandler
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
MailMessageHandler
handleAttachment
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleBccRecipient(javax.mail.internet.InternetAddress[] recipientAddrs) throws com.openexchange.exception.OXException
MailMessageHandler
handleBccRecipient
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleCcRecipient(javax.mail.internet.InternetAddress[] recipientAddrs) throws com.openexchange.exception.OXException
MailMessageHandler
handleCcRecipient
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleColorLabel(int colorLabel) throws com.openexchange.exception.OXException
MailMessageHandler
handleColorLabel
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleContentId(java.lang.String contentId) throws com.openexchange.exception.OXException
MailMessageHandler
handleContentId
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleFrom(javax.mail.internet.InternetAddress[] fromAddrs) throws com.openexchange.exception.OXException
MailMessageHandler
handleFrom
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleHeaders(int size, java.util.Iterator<java.util.Map.Entry<java.lang.String,java.lang.String>> iter) throws com.openexchange.exception.OXException
MailMessageHandler
handleXXX
methodhandleHeaders
in interface MailMessageHandler
size
- The iterator's size or -1
to use Iterator.hasNext()
insteaditer
- The header iteratortrue
to continue parsing; otherwise false
com.openexchange.exception.OXException
public 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
MailMessageHandler
image/*
)handleImagePart
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleInlineHtml(java.lang.String htmlContent, ContentType contentType, long size, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
text/html
)handleInlineHtml
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleInlinePlainText(java.lang.String plainTextContentArg, ContentType contentType, long size, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
text/plain
or text/enriched
)handleInlinePlainText
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleInlineUUEncodedAttachment(UUEncodedPart part, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
handleInlineUUEncodedAttachment
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleInlineUUEncodedPlainText(java.lang.String decodedTextContent, ContentType contentType, int size, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
handleInlineUUEncodedPlainText
in interface MailMessageHandler
com.openexchange.exception.OXException
public void handleMessageEnd(MailMessage mail) throws com.openexchange.exception.OXException
MailMessageHandler
handleMessageEnd
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleMultipart(MailPart mp, int bodyPartCount, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
multipart/*
)handleMultipart
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleMultipartEnd(MailPart mp, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
multipart/*
)handleMultipartEnd
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleNestedMessage(MailPart mailPart, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
message/rfc822
)
Get the message via:
MailMessage nestedMail = (MailMessage) mailPart.getContent();
handleNestedMessage
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handlePriority(int priority) throws com.openexchange.exception.OXException
MailMessageHandler
handlePriority
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleMsgRef(java.lang.String msgRef) throws com.openexchange.exception.OXException
MailMessageHandler
handleMsgRef
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleDispositionNotification(javax.mail.internet.InternetAddress dispositionNotificationTo, boolean seen) throws com.openexchange.exception.OXException
MailMessageHandler
handleDispositionNotification
in interface MailMessageHandler
seen
- TODOcom.openexchange.exception.OXException
public boolean handleReceivedDate(java.util.Date receivedDate) throws com.openexchange.exception.OXException
MailMessageHandler
handleReceivedDate
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleSentDate(java.util.Date sentDate) throws com.openexchange.exception.OXException
MailMessageHandler
handleSentDate
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleSpecialPart(MailPart part, java.lang.String baseContentType, java.lang.String fileName, java.lang.String id) throws com.openexchange.exception.OXException
MailMessageHandler
message/delivery-status
,
message/disposition-notification
, text/rfc822-headers
, text/x-vcard
, text/vcard
,
text/calendar
or text/x-vCalendar
handleSpecialPart
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleSubject(java.lang.String subject) throws com.openexchange.exception.OXException
MailMessageHandler
handleSubject
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleSystemFlags(int flags) throws com.openexchange.exception.OXException
MailMessageHandler
handleSystemFlags
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleToRecipient(javax.mail.internet.InternetAddress[] recipientAddrs) throws com.openexchange.exception.OXException
MailMessageHandler
handleToRecipient
in interface MailMessageHandler
com.openexchange.exception.OXException
public boolean handleUserFlags(java.lang.String[] userFlags) throws com.openexchange.exception.OXException
MailMessageHandler
handleUserFlags
in interface MailMessageHandler
com.openexchange.exception.OXException
public org.json.JSONObject getJSONObject()
JSONObject
JSONObject