com.openexchange.mail.json.writer
Class MessageWriter

java.lang.Object
  extended by com.openexchange.mail.json.writer.MessageWriter

public final class MessageWriter
extends java.lang.Object

MessageWriter - Writes MailMessage instances as JSON strings

Author:
Thorben Betten

Nested Class Summary
static interface MessageWriter.MailFieldWriter
           
 
Method Summary
static long addUserTimezone(long time, java.util.TimeZone timeZone)
          Adds the user time zone offset to given date time
static org.json.JSONArray getAddressesAsArray(javax.mail.internet.InternetAddress[] addrs)
          Convert an array of InternetAddress instances into a JSON-Array conforming to:
static MessageWriter.MailFieldWriter[] getMailFieldWriter(MailListField[] fields)
          Generates appropriate field writers for given mail fields
static org.json.JSONObject writeMailMessage(int accountId, MailMessage mail, DisplayMode displayMode, com.openexchange.session.Session session, UserSettingMail settings)
          Writes whole mail as a JSON object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

writeMailMessage

public static org.json.JSONObject writeMailMessage(int accountId,
                                                   MailMessage mail,
                                                   DisplayMode displayMode,
                                                   com.openexchange.session.Session session,
                                                   UserSettingMail settings)
                                            throws MailException
Writes whole mail as a JSON object.

Parameters:
accountId - The account ID
mail - The mail to write
displayMode - The display mode
session - The session
settings - The user's mail settings used for writing message; if null the settings are going to be fetched from storage, thus no request-specific preparations will take place.
Returns:
The written JSON object
Throws:
MailException - If writing message fails

getMailFieldWriter

public static MessageWriter.MailFieldWriter[] getMailFieldWriter(MailListField[] fields)
Generates appropriate field writers for given mail fields

Parameters:
fields - The mail fields to write
Returns:
Appropriate field writers as an array of MessageWriter.MailFieldWriter

addUserTimezone

public static long addUserTimezone(long time,
                                   java.util.TimeZone timeZone)
Adds the user time zone offset to given date time

Parameters:
time - The date time
timeZone - The time zone
Returns:
The time with added time zone offset

getAddressesAsArray

public static org.json.JSONArray getAddressesAsArray(javax.mail.internet.InternetAddress[] addrs)
Convert an array of InternetAddress instances into a JSON-Array conforming to:
 [["The Personal", "someone@somewhere.com"], ...]