Package com.sun.mail.imap
Class IMAPNestedMessage
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
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
Modifier and TypeMethodDescriptionprotected void
protected int
protected Object
Get the messageCacheLock, associated with this Message's Folder.protected IMAPProtocol
Get this message's folder's protocol connection.protected int
Get this message's IMAP sequence number.int
getSize()
Get the message size.protected boolean
boolean
Checks whether this message is expunged.protected boolean
isREV1()
void
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 Details
-
getProtocol
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
- Overrides:
isREV1
in classIMAPMessage
- Throws:
FolderClosedException
-
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
- 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:
-
getFetchBlockSize
protected int getFetchBlockSize()- Overrides:
getFetchBlockSize
in classIMAPMessage
-
ignoreBodyStructureSize
protected boolean ignoreBodyStructureSize()- Overrides:
ignoreBodyStructureSize
in classIMAPMessage
-
getSize
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
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:
-