com.openexchange.mail.structure
Class StructureMailMessageParser

java.lang.Object
  extended by com.openexchange.mail.structure.StructureMailMessageParser

public final class StructureMailMessageParser
extends java.lang.Object

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

Author:
Thorben Betten

Constructor Summary
StructureMailMessageParser()
          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
 void parseMailMessage(MailMessage mail, StructureHandler handler)
          Parses specified mail using given handler as call-back
 void parseMailMessage(MailMessage mail, StructureHandler handler, java.lang.String prefix)
          Parses specified mail using given handler as call-back and given initial prefix for mail part identifiers; e.g.
 StructureMailMessageParser reset()
          Resets this parser and returns itself
 StructureMailMessageParser setInlineDetectorBehavior(boolean strict)
          Switches the INLINE detector behavior.
 StructureMailMessageParser setParseTNEFParts(boolean parseTNEFParts)
          Sets whether TNEF parts should be parsed or not.
 StructureMailMessageParser setParseUUEncodedParts(boolean parseUUEncodedParts)
          Sets whether UUEncoded parts should be parsed or not.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StructureMailMessageParser

public StructureMailMessageParser()
Constructor

Method Detail

setInlineDetectorBehavior

public StructureMailMessageParser 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

setParseTNEFParts

public StructureMailMessageParser setParseTNEFParts(boolean parseTNEFParts)
Sets whether TNEF parts should be parsed or not.

Parameters:
parseTNEFParts - true to parse TNEF parts; otherwise false
Returns:
This parser with new behavior applied

setParseUUEncodedParts

public StructureMailMessageParser setParseUUEncodedParts(boolean parseUUEncodedParts)
Sets whether UUEncoded parts should be parsed or not.

Parameters:
parseUUEncodedParts - true to parse UUEncoded parts; otherwise false
Returns:
This parser with new behavior applied

reset

public StructureMailMessageParser reset()
Resets this parser and returns itself

Returns:
The parser itself

parseMailMessage

public void parseMailMessage(MailMessage mail,
                             StructureHandler 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,
                             StructureHandler 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