Package com.icegreen.greenmail.store
Class SimpleMessageAttributes
- java.lang.Object
-
- com.icegreen.greenmail.store.SimpleMessageAttributes
-
- All Implemented Interfaces:
MailMessageAttributes
public class SimpleMessageAttributes extends java.lang.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
Fields Modifier and Type Field Description protected org.slf4j.Logger
log
MailMessageAttributes[]
parts
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getBodyStructure(boolean includeExtensions)
Provides the Body Structure information for this message.java.lang.String
getEnvelope()
Provides the Envelope structure information for this message.java.util.Date
getInternalDate()
Provides the date and time at which the message was received.java.lang.String
getInternalDateAsString()
Returns IMAP formatted String representation of Dateint
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.
-
-
-
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 java.util.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 interfaceMailMessageAttributes
- Returns:
- Date imap internal date
-
getInternalDateAsString
public java.lang.String getInternalDateAsString()
Description copied from interface:MailMessageAttributes
Returns IMAP formatted String representation of Date- Specified by:
getInternalDateAsString
in interfaceMailMessageAttributes
-
getSize
public int getSize()
Provides the sizeof the message in octets.- Specified by:
getSize
in interfaceMailMessageAttributes
- Returns:
- int number of octets in message.
-
getEnvelope
public java.lang.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 interfaceMailMessageAttributes
- Returns:
- String satisfying envelope syntax in rfc 2060.
-
getBodyStructure
public java.lang.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 interfaceMailMessageAttributes
- Returns:
- String satisfying body syntax in rfc 2060.
-
-