davmail.exchange
Class ExchangeSession.Message

java.lang.Object
  extended by davmail.exchange.ExchangeSession.Message
All Implemented Interfaces:
Comparable<ExchangeSession.Message>
Direct Known Subclasses:
DavExchangeSession.Message
Enclosing class:
ExchangeSession

public abstract class ExchangeSession.Message
extends Object
implements Comparable<ExchangeSession.Message>

Exchange message.


Field Summary
 boolean answered
          Message flag: answered.
 String contentClass
          Message content class.
 String date
          Message date (urn:schemas:mailheader:date).
 boolean deleted
          Message flag: deleted.
 boolean draft
          Message flag: draft.
 boolean flagged
          Message flag: flagged.
 boolean forwarded
          Message flag: fowarded.
 long imapUid
          Message IMAP uid, unique in folder (x0e230003).
 boolean junk
          Message flag: junk.
 String keywords
          Message keywords (categories).
 ExchangeSession.MessageList messageList
          enclosing message list
 String messageUrl
          Message url.
protected  javax.mail.util.SharedByteArrayInputStream mimeBody
          Unparsed message content.
protected  javax.mail.internet.MimeMessage mimeMessage
          Message content parsed in a MIME message.
 String permanentUrl
          Message permanent url (does not change on message move).
 boolean read
          Message flag: read.
 boolean recent
          Message flag: recent.
 int size
          MAPI message size.
 String uid
          Message uid.
 
Constructor Summary
ExchangeSession.Message()
           
 
Method Summary
 String addFlag(String flag)
           
 int compareTo(ExchangeSession.Message message)
          Comparator to sort messages by IMAP uid
 void delete()
          Delete message.
 void dropMimeMessage()
          Drop mime message to avoid keeping message content in memory, keep a single message in MessageList cache to handle chunked fetch.
 boolean equals(Object message)
          Override equals, compare IMAP uids
 String getImapFlags()
          Return message flags in IMAP format.
 long getImapUid()
          IMAP uid , unique in folder (x0e230003)
 Enumeration getMatchingHeaderLines(String[] headerNames)
           
 Enumeration getMatchingHeaderLinesFromHeaders(String[] headerNames)
           
protected abstract  InputStream getMimeHeaders()
           
 javax.mail.internet.MimeMessage getMimeMessage()
          Get message content as a Mime message.
 int getMimeMessageSize()
          Get message body size.
abstract  String getPermanentId()
          Get permanent message id.
 InputStream getRawInputStream()
          Get message body input stream.
 String getUid()
          Exchange uid.
 int hashCode()
          Override hashCode, return imapUid hashcode.
 boolean isLoaded()
           
 void loadMimeMessage()
          Load message content in a Mime message
 void markRead()
          Mark message as read.
 void moveToTrash()
          Move message to trash, mark message read.
 String removeFlag(String flag)
           
 String setFlags(HashSet<String> flags)
           
 void setImapUid(long imapUid)
          Set IMAP uid.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messageList

public ExchangeSession.MessageList messageList
enclosing message list


messageUrl

public String messageUrl
Message url.


permanentUrl

public String permanentUrl
Message permanent url (does not change on message move).


uid

public String uid
Message uid.


contentClass

public String contentClass
Message content class.


keywords

public String keywords
Message keywords (categories).


imapUid

public long imapUid
Message IMAP uid, unique in folder (x0e230003).


size

public int size
MAPI message size.


date

public String date
Message date (urn:schemas:mailheader:date).


read

public boolean read
Message flag: read.


deleted

public boolean deleted
Message flag: deleted.


junk

public boolean junk
Message flag: junk.


flagged

public boolean flagged
Message flag: flagged.


recent

public boolean recent
Message flag: recent.


draft

public boolean draft
Message flag: draft.


answered

public boolean answered
Message flag: answered.


forwarded

public boolean forwarded
Message flag: fowarded.


mimeBody

protected javax.mail.util.SharedByteArrayInputStream mimeBody
Unparsed message content.


mimeMessage

protected javax.mail.internet.MimeMessage mimeMessage
Message content parsed in a MIME message.

Constructor Detail

ExchangeSession.Message

public ExchangeSession.Message()
Method Detail

getPermanentId

public abstract String getPermanentId()
Get permanent message id. permanentUrl over WebDav or IitemId over EWS

Returns:
permanent id

getImapUid

public long getImapUid()
IMAP uid , unique in folder (x0e230003)

Returns:
IMAP uid

setImapUid

public void setImapUid(long imapUid)
Set IMAP uid.

Parameters:
imapUid - new uid

getUid

public String getUid()
Exchange uid.

Returns:
uid

getImapFlags

public String getImapFlags()
Return message flags in IMAP format.

Returns:
IMAP flags

loadMimeMessage

public void loadMimeMessage()
                     throws IOException,
                            javax.mail.MessagingException
Load message content in a Mime message

Throws:
IOException - on error
javax.mail.MessagingException - on error

getMimeMessage

public javax.mail.internet.MimeMessage getMimeMessage()
                                               throws IOException,
                                                      javax.mail.MessagingException
Get message content as a Mime message.

Returns:
mime message
Throws:
IOException - on error
javax.mail.MessagingException - on error

getMatchingHeaderLinesFromHeaders

public Enumeration getMatchingHeaderLinesFromHeaders(String[] headerNames)
                                              throws javax.mail.MessagingException,
                                                     IOException
Throws:
javax.mail.MessagingException
IOException

getMatchingHeaderLines

public Enumeration getMatchingHeaderLines(String[] headerNames)
                                   throws javax.mail.MessagingException,
                                          IOException
Throws:
javax.mail.MessagingException
IOException

getMimeHeaders

protected abstract InputStream getMimeHeaders()

getMimeMessageSize

public int getMimeMessageSize()
                       throws IOException,
                              javax.mail.MessagingException
Get message body size.

Returns:
mime message size
Throws:
IOException - on error
javax.mail.MessagingException - on error

getRawInputStream

public InputStream getRawInputStream()
                              throws IOException,
                                     javax.mail.MessagingException
Get message body input stream.

Returns:
mime message InputStream
Throws:
IOException - on error
javax.mail.MessagingException - on error

dropMimeMessage

public void dropMimeMessage()
Drop mime message to avoid keeping message content in memory, keep a single message in MessageList cache to handle chunked fetch.


isLoaded

public boolean isLoaded()

delete

public void delete()
            throws IOException
Delete message.

Throws:
IOException - on error

moveToTrash

public void moveToTrash()
                 throws IOException
Move message to trash, mark message read.

Throws:
IOException - on error

markRead

public void markRead()
              throws IOException
Mark message as read.

Throws:
IOException - on error

compareTo

public int compareTo(ExchangeSession.Message message)
Comparator to sort messages by IMAP uid

Specified by:
compareTo in interface Comparable<ExchangeSession.Message>
Parameters:
message - other message
Returns:
imapUid comparison result

equals

public boolean equals(Object message)
Override equals, compare IMAP uids

Overrides:
equals in class Object
Parameters:
message - other message
Returns:
true if IMAP uids are equal

hashCode

public int hashCode()
Override hashCode, return imapUid hashcode.

Overrides:
hashCode in class Object
Returns:
imapUid hashcode

removeFlag

public String removeFlag(String flag)

addFlag

public String addFlag(String flag)

setFlags

public String setFlags(HashSet<String> flags)


Copyright © 2001-2013 MickaĆ«l Guessant. All Rights Reserved.