Package davmail.exchange
Class ExchangeSession.Message
java.lang.Object
davmail.exchange.ExchangeSession.Message
- All Implemented Interfaces:
Comparable<ExchangeSession.Message>
- Direct Known Subclasses:
DavExchangeSession.Message,GraphExchangeSession.Message
- Enclosing class:
ExchangeSession
public abstract class ExchangeSession.Message
extends Object
implements Comparable<ExchangeSession.Message>
Exchange message.
-
Field Summary
FieldsModifier and TypeFieldDescriptionbooleanMessage flag: answered.Message content class.Message date (urn:schemas:mailheader:date).booleanMessage flag: deleted.booleanMessage flag: draft.booleanMessage flag: flagged.booleanMessage flag: forwarded.longMessage IMAP uid, unique in folder (x0e230003).booleanMessage flag: junk.Message keywords (categories).enclosing message listMessage url.protected byte[]Unparsed message content.protected javax.mail.internet.MimeMessageMessage content parsed in a MIME message.Message permanent url (does not change on message move).booleanMessage flag: read.booleanMessage flag: recent.intMAPI message size.Message uid. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(ExchangeSession.Message message) Comparator to sort messages by IMAP uidvoiddelete()Delete message.voidDrop mime message to avoid keeping message content in memory, keep a single message in MessageList cache to handle chunked fetch.booleanOverride equals, compare IMAP uidsReturn message flags in IMAP format.longIMAP uid , unique in folder (x0e230003)Enumeration<?> getMatchingHeaderLines(String[] headerNames) Enumeration<?> getMatchingHeaderLinesFromHeaders(String[] headerNames) protected abstract InputStreamjavax.mail.internet.MimeMessageGet message content as a Mime message.intGet message body size.abstract StringGet permanent message id.Get message body input stream.getUid()Exchange uid.inthashCode()Override hashCode, return imapUid hashcode.booleanisLoaded()voidLoad message content in a Mime messagevoidmarkRead()Mark message as read.voidMove message to trash, mark message read.removeFlag(String flag) voidsetImapUid(long imapUid) Set IMAP uid.
-
Field Details
-
messageList
enclosing message list -
messageUrl
Message url. -
permanentUrl
Message permanent url (does not change on message move). -
uid
Message uid. -
contentClass
Message content class. -
keywords
Message keywords (categories). -
imapUid
public long imapUidMessage IMAP uid, unique in folder (x0e230003). -
size
public int sizeMAPI message size. -
date
Message date (urn:schemas:mailheader:date). -
read
public boolean readMessage flag: read. -
deleted
public boolean deletedMessage flag: deleted. -
junk
public boolean junkMessage flag: junk. -
flagged
public boolean flaggedMessage flag: flagged. -
recent
public boolean recentMessage flag: recent. -
draft
public boolean draftMessage flag: draft. -
answered
public boolean answeredMessage flag: answered. -
forwarded
public boolean forwardedMessage flag: forwarded. -
mimeContent
protected byte[] mimeContentUnparsed message content. -
mimeMessage
protected javax.mail.internet.MimeMessage mimeMessageMessage content parsed in a MIME message.
-
-
Constructor Details
-
Message
public Message()
-
-
Method Details
-
getPermanentId
Get permanent message id. permanentUrl over WebDav or ItemId 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
Exchange uid.- Returns:
- uid
-
getImapFlags
Return message flags in IMAP format.- Returns:
- IMAP flags
-
loadMimeMessage
Load message content in a Mime message- Throws:
IOException- on errorjavax.mail.MessagingException- on error
-
getMimeMessage
public javax.mail.internet.MimeMessage getMimeMessage() throws IOException, javax.mail.MessagingExceptionGet message content as a Mime message.- Returns:
- mime message
- Throws:
IOException- on errorjavax.mail.MessagingException- on error
-
getMatchingHeaderLinesFromHeaders
public Enumeration<?> getMatchingHeaderLinesFromHeaders(String[] headerNames) throws javax.mail.MessagingException - Throws:
javax.mail.MessagingException
-
getMatchingHeaderLines
public Enumeration<?> getMatchingHeaderLines(String[] headerNames) throws javax.mail.MessagingException, IOException - Throws:
javax.mail.MessagingExceptionIOException
-
getMimeHeaders
-
getMimeMessageSize
Get message body size.- Returns:
- mime message size
- Throws:
IOException- on errorjavax.mail.MessagingException- on error
-
getRawInputStream
Get message body input stream.- Returns:
- mime message InputStream
- Throws:
IOException- on errorjavax.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
Delete message.- Throws:
IOException- on error
-
moveToTrash
Move message to trash, mark message read.- Throws:
IOException- on error
-
markRead
Mark message as read.- Throws:
IOException- on error
-
compareTo
Comparator to sort messages by IMAP uid- Specified by:
compareToin interfaceComparable<ExchangeSession.Message>- Parameters:
message- other message- Returns:
- imapUid comparison result
-
equals
Override equals, compare IMAP uids -
hashCode
public int hashCode()Override hashCode, return imapUid hashcode. -
removeFlag
-
addFlag
-
setFlags
-