- java.lang.Object
-
- javax.mail.Message
-
- javax.mail.internet.MimeMessage
-
- com.sun.mail.imap.IMAPMessage
-
- com.sun.mail.imap.IMAPNestedMessage
-
- All Implemented Interfaces:
ReadableMime
,MimePart
,Part
public class IMAPNestedMessage extends IMAPMessage
This class implements a nested IMAP message- Author:
- John Mani
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.sun.mail.imap.IMAPMessage
IMAPMessage.FetchProfileCondition
-
Nested classes/interfaces inherited from class javax.mail.internet.MimeMessage
MimeMessage.RecipientType
-
-
Field Summary
-
Fields inherited from class com.sun.mail.imap.IMAPMessage
bs, envelope, items, sectionId
-
Fields inherited from class javax.mail.internet.MimeMessage
cachedContent, content, contentStream, dh, flags, headers, modified, saved
-
Fields inherited from interface javax.mail.Part
ATTACHMENT, INLINE
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkExpunged()
protected int
getFetchBlockSize()
protected java.lang.Object
getMessageCacheLock()
Get the messageCacheLock, associated with this Message's Folder.protected IMAPProtocol
getProtocol()
Get this message's folder's protocol connection.protected int
getSequenceNumber()
Get this message's IMAP sequence number.int
getSize()
Get the message size.protected boolean
ignoreBodyStructureSize()
boolean
isExpunged()
Checks whether this message is expunged.protected boolean
isREV1()
void
setFlags(Flags flag, boolean set)
Set/Unset the given flags in this message.-
Methods inherited from class com.sun.mail.imap.IMAPMessage
addFrom, addHeader, addHeaderLine, addRecipients, fetchItem, forceCheckExpunged, getAllHeaderLines, getAllHeaders, getContentID, getContentLanguage, getContentMD5, getContentStream, getContentType, getDataHandler, getDescription, getDisposition, getEncoding, getFileName, getFlags, getFrom, getHeader, getHeader, getInReplyTo, getItem, getLineCount, getMatchingHeaderLines, getMatchingHeaders, getMessageID, getMimeStream, getModSeq, getNonMatchingHeaderLines, getNonMatchingHeaders, getPeek, getReceivedDate, getRecipients, getReplyTo, getSender, getSentDate, getSizeLong, getSubject, getUID, handleExtensionFetchItems, handleFetchItem, invalidateHeaders, isSet, removeHeader, setContentID, setContentLanguage, setContentMD5, setDataHandler, setDescription, setDisposition, setExpunged, setFileName, setFrom, setHeader, setMessageNumber, setPeek, setRecipients, setReplyTo, setSender, setSentDate, setSubject, setUID, writeTo
-
Methods inherited from class javax.mail.internet.MimeMessage
addRecipients, createInternetHeaders, createMimeMessage, getAllRecipients, getContent, getInputStream, getRawInputStream, isMimeType, parse, reply, reply, saveChanges, setContent, setContent, setDescription, setFrom, setFrom, setRecipients, setSubject, setText, setText, setText, updateHeaders, updateMessageID, writeTo
-
Methods inherited from class javax.mail.Message
addRecipient, getFolder, getMessageNumber, getSession, match, setFlag, setRecipient
-
-
-
-
Method Detail
-
getProtocol
protected IMAPProtocol getProtocol() throws ProtocolException, FolderClosedException
Description copied from class:IMAPMessage
Get this message's folder's protocol connection. Throws FolderClosedException, if the protocol connection is not available. ASSERT: Must hold the messageCacheLock.- Overrides:
getProtocol
in classIMAPMessage
- Returns:
- the IMAPProtocol object for the containing folder
- Throws:
ProtocolException
- for protocol errorsFolderClosedException
- if the folder is closed
-
isREV1
protected boolean isREV1() throws FolderClosedException
- Overrides:
isREV1
in classIMAPMessage
- Throws:
FolderClosedException
-
getMessageCacheLock
protected java.lang.Object getMessageCacheLock()
Description copied from class:IMAPMessage
Get the messageCacheLock, associated with this Message's Folder.- Overrides:
getMessageCacheLock
in classIMAPMessage
- Returns:
- the message cache lock object
-
getSequenceNumber
protected int getSequenceNumber()
Description copied from class:IMAPMessage
Get this message's IMAP sequence number. ASSERT: This method must be called only when holding the messageCacheLock.- Overrides:
getSequenceNumber
in classIMAPMessage
- Returns:
- the message sequence number
-
checkExpunged
protected void checkExpunged() throws MessageRemovedException
- Overrides:
checkExpunged
in classIMAPMessage
- Throws:
MessageRemovedException
-
isExpunged
public boolean isExpunged()
Description copied from class:Message
Checks whether this message is expunged. All other methods exceptgetMessageNumber()
are invalid on an expunged Message object.Messages that are expunged due to an explict
expunge()
request on the containing Folder are removed from the Folder immediately. Messages that are externally expunged by another source are marked "expunged" and return true for the isExpunged() method, but they are not removed from the Folder until an explicitexpunge()
is done on the Folder.See the description of
expunge()
for more details on expunge handling.- Overrides:
isExpunged
in classMessage
- Returns:
- true if the message is expunged
- See Also:
Folder.expunge()
-
getFetchBlockSize
protected int getFetchBlockSize()
- Overrides:
getFetchBlockSize
in classIMAPMessage
-
ignoreBodyStructureSize
protected boolean ignoreBodyStructureSize()
- Overrides:
ignoreBodyStructureSize
in classIMAPMessage
-
getSize
public int getSize() throws MessagingException
Description copied from class:IMAPMessage
Get the message size.Note that this returns RFC822.SIZE. That is, it's the size of the whole message, header and body included. Note also that if the size of the message is greater than Integer.MAX_VALUE (2GB), this method returns Integer.MAX_VALUE.
- Specified by:
getSize
in interfacePart
- Overrides:
getSize
in classIMAPMessage
- Returns:
- size of content in bytes
- Throws:
MessagingException
- for failures
-
setFlags
public void setFlags(Flags flag, boolean set) throws MessagingException
Description copied from class:IMAPMessage
Set/Unset the given flags in this message.- Overrides:
setFlags
in classIMAPMessage
- Parameters:
flag
- Flags object containing the flags to be setset
- the value to be set- Throws:
IllegalWriteException
- if the underlying implementation does not support modificationMessagingException
- for other failures- See Also:
MessageChangedEvent
-
-