com.openexchange.mail.parser
Class MailMessageParser

java.lang.Object
  extended by com.openexchange.mail.parser.MailMessageParser

public final class MailMessageParser
extends java.lang.Object

MailMessageParser - A callback parser to parse instances of MailMessage by invoking the handleXXX() methods of given MailMessageHandler object

Author:
Thorben Betten

Constructor Summary
MailMessageParser()
          Constructor
 
Method Summary
static java.lang.String generateFilename(java.lang.String sequenceId, java.lang.String baseMimeType)
          Generates a filename consisting of common prefix "Part_" and part's sequence ID appended
static java.lang.String getFileName(java.lang.String rawFileName, java.lang.String sequenceId, java.lang.String baseMimeType)
          Generates an appropriate filename from either specified rawFileName if not null or generates a filename composed with "Part_" + sequenceId
static java.lang.String getSequenceId(java.lang.String prefix, int partCount)
          Composes part's sequence ID from given prefix and part's count
 java.util.List<com.openexchange.groupware.AbstractOXException> getWarnings()
          Gets possible warnings occurred during parsing.
 void parseMailMessage(MailMessage mail, MailMessageHandler handler)
          Parses specified mail using given handler as call-back
 void parseMailMessage(MailMessage mail, MailMessageHandler handler, java.lang.String prefix)
          Parses specified mail using given handler as call-back and given initial prefix for mail part identifiers; e.g.
 MailMessageParser reset()
          Resets this parser and returns itself
 MailMessageParser setInlineDetectorBehavior(boolean strict)
          Switches the INLINE detector behavior.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MailMessageParser

public MailMessageParser()
Constructor

Method Detail

setInlineDetectorBehavior

public MailMessageParser setInlineDetectorBehavior(boolean strict)
Switches the INLINE detector behavior.

Parameters:
strict - true to perform strict INLINE detector behavior; otherwise false
Returns:
This parser with new behavior applied

getWarnings

public java.util.List<com.openexchange.groupware.AbstractOXException> getWarnings()
Gets possible warnings occurred during parsing.

Returns:
The warnings

reset

public MailMessageParser reset()
Resets this parser and returns itself

Returns:
The parser itself

parseMailMessage

public void parseMailMessage(MailMessage mail,
                             MailMessageHandler handler)
                      throws MailException
Parses specified mail using given handler as call-back

Parameters:
mail - The mail to parse
handler - The call-back handler
Throws:
MailException - If parsing specified mail fails

parseMailMessage

public void parseMailMessage(MailMessage mail,
                             MailMessageHandler handler,
                             java.lang.String prefix)
                      throws MailException
Parses specified mail using given handler as call-back and given initial prefix for mail part identifiers; e.g. "1.1".

Parameters:
mail - The mail to parse
handler - The call-back handler
prefix - The initial prefix for mail part identifiers; e.g. "1.1"
Throws:
MailException - If parsing specified mail fails

getFileName

public static java.lang.String getFileName(java.lang.String rawFileName,
                                           java.lang.String sequenceId,
                                           java.lang.String baseMimeType)
Generates an appropriate filename from either specified rawFileName if not null or generates a filename composed with "Part_" + sequenceId

Parameters:
rawFileName - The raw filename obtained from mail part
sequenceId - The part's sequence ID
baseMimeType - The base MIME type to look up an appropriate file extension, if rawFileName is null
Returns:
An appropriate filename

getSequenceId

public static java.lang.String getSequenceId(java.lang.String prefix,
                                             int partCount)
Composes part's sequence ID from given prefix and part's count

Parameters:
prefix - The prefix (may be null)
partCount - The part count
Returns:
The sequence ID

generateFilename

public static java.lang.String generateFilename(java.lang.String sequenceId,
                                                java.lang.String baseMimeType)
Generates a filename consisting of common prefix "Part_" and part's sequence ID appended

Parameters:
sequenceId - Part's sequence ID
baseMimeType - The base MIME type to look up an appropriate file extension if rawFileName is null
Returns:
The generated filename