com.icegreen.greenmail.store
Class SimpleMessageAttributes

java.lang.Object
  extended by com.icegreen.greenmail.store.SimpleMessageAttributes
All Implemented Interfaces:
MailMessageAttributes

public class SimpleMessageAttributes
extends Object
implements MailMessageAttributes

Attributes of a Message in IMAP4rev1 style. Message Attributes should be set when a message enters a mailbox.

Note that the message in a mailbox have the same order using either Message Sequence Numbers or UIDs.

reinitialize() must be called on deserialization to reset Logger

Reference: RFC 2060 - para 2.3

Version:
0.2 on 04 Aug 2002
Author:
Sascha Kulawik, Charles Benett

Field Summary
protected  org.slf4j.Logger log
           
 MailMessageAttributes[] parts
           
 
Method Summary
 String getBodyStructure(boolean includeExtensions)
          Provides the Body Structure information for this message.
 String getEnvelope()
          Provides the Envelope structure information for this message.
 Date getInternalDate()
          Provides the date and time at which the message was received.
 String getInternalDateAsString()
          Returns IMAP formatted String representation of Date
 int getMessageSequenceNumber()
          Provides the current Message Sequence Number for this message.
 int getSize()
          Provides the sizeof the message in octets.
 int getUID()
          Provides the unique identity value for this message.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

protected final org.slf4j.Logger log

parts

public MailMessageAttributes[] parts
Method Detail

getMessageSequenceNumber

public int getMessageSequenceNumber()
Provides the current Message Sequence Number for this message. MSNs change when messages are expunged from the mailbox.

Returns:
int a positive non-zero integer

getUID

public int getUID()
Provides the unique identity value for this message. UIDs combined with a UIDValidity value form a unique reference for a message in a given mailbox. UIDs persist across sessions unless the UIDValidity value is incremented. UIDs are not copied if a message is copied to another mailbox.

Returns:
int a 32-bit value

getInternalDate

public Date getInternalDate()
Provides the date and time at which the message was received. In the case of delivery by SMTP, this SHOULD be the date and time of final delivery as defined for SMTP. In the case of messages copied from another mailbox, it shuld be the internalDate of the source message. In the case of messages Appended to the mailbox, example drafts, the internalDate is either specified in the Append command or is the current dat and time at the time of the Append.

Specified by:
getInternalDate in interface MailMessageAttributes
Returns:
Date imap internal date

getInternalDateAsString

public String getInternalDateAsString()
Description copied from interface: MailMessageAttributes
Returns IMAP formatted String representation of Date

Specified by:
getInternalDateAsString in interface MailMessageAttributes

getSize

public int getSize()
Provides the sizeof the message in octets.

Specified by:
getSize in interface MailMessageAttributes
Returns:
int number of octets in message.

getEnvelope

public String getEnvelope()
Provides the Envelope structure information for this message. This is a parsed representation of the rfc-822 envelope information. This is not to be confused with the SMTP envelope!

Specified by:
getEnvelope in interface MailMessageAttributes
Returns:
String satisfying envelope syntax in rfc 2060.

getBodyStructure

public String getBodyStructure(boolean includeExtensions)
Provides the Body Structure information for this message. This is a parsed representtion of the MIME structure of the message.

Specified by:
getBodyStructure in interface MailMessageAttributes
Returns:
String satisfying body syntax in rfc 2060.