- java.lang.Object
-
- jakarta.mail.Message
-
- jakarta.mail.internet.MimeMessage
-
- com.sun.mail.imap.IMAPMessage
-
- All Implemented Interfaces:
ReadableMime,jakarta.mail.internet.MimePart,jakarta.mail.Part
- Direct Known Subclasses:
IMAPNestedMessage
public class IMAPMessage extends jakarta.mail.internet.MimeMessage implements ReadableMime
This class implements an IMAPMessage object.An IMAPMessage object starts out as a light-weight object. It gets filled-in incrementally when a request is made for some item. Or when a prefetch is done using the FetchProfile.
An IMAPMessage has a messageNumber and a sequenceNumber. The messageNumber is its index into its containing folder's messageCache. The sequenceNumber is its IMAP sequence-number.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classIMAPMessage.FetchProfileConditionThis class implements the test to be done on each message in the folder.
-
Field Summary
Fields Modifier and Type Field Description protected BODYSTRUCTUREbsprotected ENVELOPEenvelopeprotected java.util.Map<java.lang.String,java.lang.Object>itemsA map of the extension FETCH items.protected java.lang.StringsectionId
-
Constructor Summary
Constructors Modifier Constructor Description protectedIMAPMessage(IMAPFolder folder, int msgnum)Constructor.protectedIMAPMessage(jakarta.mail.Session session)Constructor, for use by IMAPNestedMessage.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFrom(jakarta.mail.Address[] addresses)voidaddHeader(java.lang.String name, java.lang.String value)voidaddHeaderLine(java.lang.String line)voidaddRecipients(jakarta.mail.Message.RecipientType type, jakarta.mail.Address[] addresses)protected voidcheckExpunged()protected java.lang.ObjectfetchItem(FetchItem fitem)Fetch an individual item for the current message.protected voidforceCheckExpunged()Do a NOOP to force any untagged EXPUNGE responses and then check if this message is expunged.java.util.Enumeration<java.lang.String>getAllHeaderLines()Get all header-lines.java.util.Enumeration<jakarta.mail.Header>getAllHeaders()Get all headers.java.lang.StringgetContentID()Get the Content-ID.java.lang.String[]getContentLanguage()Get the content language.java.lang.StringgetContentMD5()Get the Content-MD5.protected java.io.InputStreamgetContentStream()Get all the bytes for this message.java.lang.StringgetContentType()Get the Content-Type.jakarta.activation.DataHandlergetDataHandler()Get the DataHandler object for this message.java.lang.StringgetDescription()Get the decoded Content-Description.java.lang.StringgetDisposition()Get the Content-Disposition.java.lang.StringgetEncoding()Get the Content-Transfer-Encoding.protected intgetFetchBlockSize()java.lang.StringgetFileName()Get the "filename" Disposition parameter.jakarta.mail.FlagsgetFlags()Get the Flags for this message.jakarta.mail.Address[]getFrom()Get the "From" attribute.java.lang.String[]getHeader(java.lang.String name)Get the named header.java.lang.StringgetHeader(java.lang.String name, java.lang.String delimiter)Get the named header.java.lang.StringgetInReplyTo()Get the In-Reply-To header.java.lang.ObjectgetItem(FetchItem fitem)Return the data associated with the FetchItem.intgetLineCount()Get the total number of lines.java.util.Enumeration<java.lang.String>getMatchingHeaderLines(java.lang.String[] names)Get all matching header-lines.java.util.Enumeration<jakarta.mail.Header>getMatchingHeaders(java.lang.String[] names)Get matching headers.protected java.lang.ObjectgetMessageCacheLock()Get the messageCacheLock, associated with this Message's Folder.java.lang.StringgetMessageID()Get the Message-ID.java.io.InputStreamgetMimeStream()Return the MIME format stream corresponding to this message.longgetModSeq()Return the modification sequence number (MODSEQ) for this message.java.util.Enumeration<java.lang.String>getNonMatchingHeaderLines(java.lang.String[] names)Get all non-matching headerlines.java.util.Enumeration<jakarta.mail.Header>getNonMatchingHeaders(java.lang.String[] names)Get non-matching headers.booleangetPeek()Get whether or not to use the PEEK variant of FETCH when fetching message content.protected IMAPProtocolgetProtocol()Get this message's folder's protocol connection.java.util.DategetReceivedDate()Get the received date (INTERNALDATE).jakarta.mail.Address[]getRecipients(jakarta.mail.Message.RecipientType type)Get the desired Recipient type.jakarta.mail.Address[]getReplyTo()Get the ReplyTo addresses.jakarta.mail.AddressgetSender()Get the "Sender" attribute.java.util.DategetSentDate()Get the SentDate.protected intgetSequenceNumber()Get this message's IMAP sequence number.intgetSize()Get the message size.longgetSizeLong()Get the message size as a long.java.lang.StringgetSubject()Get the decoded subject.protected longgetUID()Return the UID for this message.protected voidhandleExtensionFetchItems(java.util.Map<java.lang.String,java.lang.Object> extensionItems)Apply the data in the extension FETCH items to this message.protected booleanhandleFetchItem(Item item, java.lang.String[] hdrs, boolean allHeaders)Apply the data in the FETCH item to this message.protected booleanignoreBodyStructureSize()voidinvalidateHeaders()Invalidate cached header and envelope information for this message.protected booleanisREV1()booleanisSet(jakarta.mail.Flags.Flag flag)Test if the given Flags are set in this message.voidremoveHeader(java.lang.String name)voidsetContentID(java.lang.String cid)voidsetContentLanguage(java.lang.String[] languages)voidsetContentMD5(java.lang.String md5)voidsetDataHandler(jakarta.activation.DataHandler content)voidsetDescription(java.lang.String description, java.lang.String charset)voidsetDisposition(java.lang.String disposition)protected voidsetExpunged(boolean set)voidsetFileName(java.lang.String filename)voidsetFlags(jakarta.mail.Flags flag, boolean set)Set/Unset the given flags in this message.voidsetFrom(jakarta.mail.Address address)voidsetHeader(java.lang.String name, java.lang.String value)protected voidsetMessageNumber(int msgnum)Wrapper around the protected method Message.setMessageNumber() to make that method accessible to IMAPFolder.voidsetPeek(boolean peek)Set whether or not to use the PEEK variant of FETCH when fetching message content.voidsetRecipients(jakarta.mail.Message.RecipientType type, jakarta.mail.Address[] addresses)voidsetReplyTo(jakarta.mail.Address[] addresses)voidsetSender(jakarta.mail.Address address)voidsetSentDate(java.util.Date d)voidsetSubject(java.lang.String subject, java.lang.String charset)protected voidsetUID(long uid)voidwriteTo(java.io.OutputStream os)Write out the bytes into the given OutputStream.-
Methods inherited from class jakarta.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
-
-
-
-
Field Detail
-
bs
protected BODYSTRUCTURE bs
-
envelope
protected ENVELOPE envelope
-
items
protected java.util.Map<java.lang.String,java.lang.Object> items
A map of the extension FETCH items. In addition to saving the data in this map, an entry in this map indicates that we *have* the data, and so it doesn't need to be fetched again. The map is created only when needed, to avoid significantly increasing the effective size of an IMAPMessage object.- Since:
- JavaMail 1.4.6
-
sectionId
protected java.lang.String sectionId
-
-
Constructor Detail
-
IMAPMessage
protected IMAPMessage(IMAPFolder folder, int msgnum)
Constructor.- Parameters:
folder- the folder containing this messagemsgnum- the message sequence number
-
IMAPMessage
protected IMAPMessage(jakarta.mail.Session session)
Constructor, for use by IMAPNestedMessage.- Parameters:
session- the Session
-
-
Method Detail
-
getProtocol
protected IMAPProtocol getProtocol() throws ProtocolException, jakarta.mail.FolderClosedException
Get this message's folder's protocol connection. Throws FolderClosedException, if the protocol connection is not available. ASSERT: Must hold the messageCacheLock.- Returns:
- the IMAPProtocol object for the containing folder
- Throws:
ProtocolException- for protocol errorsjakarta.mail.FolderClosedException- if the folder is closed
-
isREV1
protected boolean isREV1() throws jakarta.mail.FolderClosedException- Throws:
jakarta.mail.FolderClosedException
-
getMessageCacheLock
protected java.lang.Object getMessageCacheLock()
Get the messageCacheLock, associated with this Message's Folder.- Returns:
- the message cache lock object
-
getSequenceNumber
protected int getSequenceNumber()
Get this message's IMAP sequence number. ASSERT: This method must be called only when holding the messageCacheLock.- Returns:
- the message sequence number
-
setMessageNumber
protected void setMessageNumber(int msgnum)
Wrapper around the protected method Message.setMessageNumber() to make that method accessible to IMAPFolder.- Overrides:
setMessageNumberin classjakarta.mail.Message
-
getUID
protected long getUID()
Return the UID for this message. Returns -1 if not known; use UIDFolder.getUID() in this case.- Returns:
- the UID
- See Also:
UIDFolder.getUID(jakarta.mail.Message)
-
setUID
protected void setUID(long uid)
-
getModSeq
public long getModSeq() throws jakarta.mail.MessagingExceptionReturn the modification sequence number (MODSEQ) for this message. Returns -1 if not known.- Returns:
- the modification sequence number
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.5.1
- See Also:
- "RFC 4551"
-
setExpunged
protected void setExpunged(boolean set)
- Overrides:
setExpungedin classjakarta.mail.Message
-
checkExpunged
protected void checkExpunged() throws jakarta.mail.MessageRemovedException- Throws:
jakarta.mail.MessageRemovedException
-
forceCheckExpunged
protected void forceCheckExpunged() throws jakarta.mail.MessageRemovedException, jakarta.mail.FolderClosedExceptionDo a NOOP to force any untagged EXPUNGE responses and then check if this message is expunged.- Throws:
jakarta.mail.MessageRemovedException- if the message has been removedjakarta.mail.FolderClosedException- if the folder has been closed
-
getFetchBlockSize
protected int getFetchBlockSize()
-
ignoreBodyStructureSize
protected boolean ignoreBodyStructureSize()
-
getFrom
public jakarta.mail.Address[] getFrom() throws jakarta.mail.MessagingExceptionGet the "From" attribute.- Overrides:
getFromin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setFrom
public void setFrom(jakarta.mail.Address address) throws jakarta.mail.MessagingException- Overrides:
setFromin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
addFrom
public void addFrom(jakarta.mail.Address[] addresses) throws jakarta.mail.MessagingException- Overrides:
addFromin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getSender
public jakarta.mail.Address getSender() throws jakarta.mail.MessagingExceptionGet the "Sender" attribute.- Overrides:
getSenderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setSender
public void setSender(jakarta.mail.Address address) throws jakarta.mail.MessagingException- Overrides:
setSenderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getRecipients
public jakarta.mail.Address[] getRecipients(jakarta.mail.Message.RecipientType type) throws jakarta.mail.MessagingExceptionGet the desired Recipient type.- Overrides:
getRecipientsin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setRecipients
public void setRecipients(jakarta.mail.Message.RecipientType type, jakarta.mail.Address[] addresses) throws jakarta.mail.MessagingException- Overrides:
setRecipientsin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
addRecipients
public void addRecipients(jakarta.mail.Message.RecipientType type, jakarta.mail.Address[] addresses) throws jakarta.mail.MessagingException- Overrides:
addRecipientsin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getReplyTo
public jakarta.mail.Address[] getReplyTo() throws jakarta.mail.MessagingExceptionGet the ReplyTo addresses.- Overrides:
getReplyToin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setReplyTo
public void setReplyTo(jakarta.mail.Address[] addresses) throws jakarta.mail.MessagingException- Overrides:
setReplyToin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getSubject
public java.lang.String getSubject() throws jakarta.mail.MessagingExceptionGet the decoded subject.- Overrides:
getSubjectin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setSubject
public void setSubject(java.lang.String subject, java.lang.String charset) throws jakarta.mail.MessagingException- Overrides:
setSubjectin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getSentDate
public java.util.Date getSentDate() throws jakarta.mail.MessagingExceptionGet the SentDate.- Overrides:
getSentDatein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setSentDate
public void setSentDate(java.util.Date d) throws jakarta.mail.MessagingException- Overrides:
setSentDatein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getReceivedDate
public java.util.Date getReceivedDate() throws jakarta.mail.MessagingExceptionGet the received date (INTERNALDATE).- Overrides:
getReceivedDatein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getSize
public int getSize() throws jakarta.mail.MessagingExceptionGet 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:
getSizein interfacejakarta.mail.Part- Overrides:
getSizein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getSizeLong
public long getSizeLong() throws jakarta.mail.MessagingExceptionGet the message size as a long.Suitable for messages that might be larger than 2GB.
- Returns:
- the message size as a long integer
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.6
-
getLineCount
public int getLineCount() throws jakarta.mail.MessagingExceptionGet the total number of lines.Returns the "body_fld_lines" field from the BODYSTRUCTURE. Note that this field is available only for text/plain and message/rfc822 types
- Specified by:
getLineCountin interfacejakarta.mail.Part- Overrides:
getLineCountin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getContentLanguage
public java.lang.String[] getContentLanguage() throws jakarta.mail.MessagingExceptionGet the content language.- Specified by:
getContentLanguagein interfacejakarta.mail.internet.MimePart- Overrides:
getContentLanguagein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setContentLanguage
public void setContentLanguage(java.lang.String[] languages) throws jakarta.mail.MessagingException- Specified by:
setContentLanguagein interfacejakarta.mail.internet.MimePart- Overrides:
setContentLanguagein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getInReplyTo
public java.lang.String getInReplyTo() throws jakarta.mail.MessagingExceptionGet the In-Reply-To header.- Returns:
- the In-Reply-To header
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.3.3
-
getContentType
public java.lang.String getContentType() throws jakarta.mail.MessagingExceptionGet the Content-Type. Generate this header from the BODYSTRUCTURE. Append parameters as well.- Specified by:
getContentTypein interfacejakarta.mail.Part- Overrides:
getContentTypein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getDisposition
public java.lang.String getDisposition() throws jakarta.mail.MessagingExceptionGet the Content-Disposition.- Specified by:
getDispositionin interfacejakarta.mail.Part- Overrides:
getDispositionin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setDisposition
public void setDisposition(java.lang.String disposition) throws jakarta.mail.MessagingException- Specified by:
setDispositionin interfacejakarta.mail.Part- Overrides:
setDispositionin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getEncoding
public java.lang.String getEncoding() throws jakarta.mail.MessagingExceptionGet the Content-Transfer-Encoding.- Specified by:
getEncodingin interfacejakarta.mail.internet.MimePart- Overrides:
getEncodingin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getContentID
public java.lang.String getContentID() throws jakarta.mail.MessagingExceptionGet the Content-ID.- Specified by:
getContentIDin interfacejakarta.mail.internet.MimePart- Overrides:
getContentIDin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setContentID
public void setContentID(java.lang.String cid) throws jakarta.mail.MessagingException- Overrides:
setContentIDin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getContentMD5
public java.lang.String getContentMD5() throws jakarta.mail.MessagingExceptionGet the Content-MD5.- Specified by:
getContentMD5in interfacejakarta.mail.internet.MimePart- Overrides:
getContentMD5in classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setContentMD5
public void setContentMD5(java.lang.String md5) throws jakarta.mail.MessagingException- Specified by:
setContentMD5in interfacejakarta.mail.internet.MimePart- Overrides:
setContentMD5in classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getDescription
public java.lang.String getDescription() throws jakarta.mail.MessagingExceptionGet the decoded Content-Description.- Specified by:
getDescriptionin interfacejakarta.mail.Part- Overrides:
getDescriptionin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setDescription
public void setDescription(java.lang.String description, java.lang.String charset) throws jakarta.mail.MessagingException- Overrides:
setDescriptionin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getMessageID
public java.lang.String getMessageID() throws jakarta.mail.MessagingExceptionGet the Message-ID.- Overrides:
getMessageIDin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getFileName
public java.lang.String getFileName() throws jakarta.mail.MessagingExceptionGet the "filename" Disposition parameter. (Only available in IMAP4rev1). If thats not available, get the "name" ContentType parameter.- Specified by:
getFileNamein interfacejakarta.mail.Part- Overrides:
getFileNamein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setFileName
public void setFileName(java.lang.String filename) throws jakarta.mail.MessagingException- Specified by:
setFileNamein interfacejakarta.mail.Part- Overrides:
setFileNamein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getContentStream
protected java.io.InputStream getContentStream() throws jakarta.mail.MessagingExceptionGet all the bytes for this message. Overrides getContentStream() in MimeMessage. This method is ultimately used by the DataHandler to obtain the input stream for this message.- Overrides:
getContentStreamin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException- See Also:
MimeMessage.getContentStream()
-
getDataHandler
public jakarta.activation.DataHandler getDataHandler() throws jakarta.mail.MessagingExceptionGet the DataHandler object for this message.- Specified by:
getDataHandlerin interfacejakarta.mail.Part- Overrides:
getDataHandlerin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setDataHandler
public void setDataHandler(jakarta.activation.DataHandler content) throws jakarta.mail.MessagingException- Specified by:
setDataHandlerin interfacejakarta.mail.Part- Overrides:
setDataHandlerin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getMimeStream
public java.io.InputStream getMimeStream() throws jakarta.mail.MessagingExceptionReturn the MIME format stream corresponding to this message.- Specified by:
getMimeStreamin interfaceReadableMime- Returns:
- the MIME format stream
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.4.5
-
writeTo
public void writeTo(java.io.OutputStream os) throws java.io.IOException, jakarta.mail.MessagingExceptionWrite out the bytes into the given OutputStream.- Specified by:
writeToin interfacejakarta.mail.Part- Overrides:
writeToin classjakarta.mail.internet.MimeMessage- Throws:
java.io.IOExceptionjakarta.mail.MessagingException
-
getHeader
public java.lang.String[] getHeader(java.lang.String name) throws jakarta.mail.MessagingExceptionGet the named header.- Specified by:
getHeaderin interfacejakarta.mail.Part- Overrides:
getHeaderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getHeader
public java.lang.String getHeader(java.lang.String name, java.lang.String delimiter) throws jakarta.mail.MessagingExceptionGet the named header.- Specified by:
getHeaderin interfacejakarta.mail.internet.MimePart- Overrides:
getHeaderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value) throws jakarta.mail.MessagingException- Specified by:
setHeaderin interfacejakarta.mail.Part- Overrides:
setHeaderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value) throws jakarta.mail.MessagingException- Specified by:
addHeaderin interfacejakarta.mail.Part- Overrides:
addHeaderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
removeHeader
public void removeHeader(java.lang.String name) throws jakarta.mail.MessagingException- Specified by:
removeHeaderin interfacejakarta.mail.Part- Overrides:
removeHeaderin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getAllHeaders
public java.util.Enumeration<jakarta.mail.Header> getAllHeaders() throws jakarta.mail.MessagingExceptionGet all headers.- Specified by:
getAllHeadersin interfacejakarta.mail.Part- Overrides:
getAllHeadersin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getMatchingHeaders
public java.util.Enumeration<jakarta.mail.Header> getMatchingHeaders(java.lang.String[] names) throws jakarta.mail.MessagingExceptionGet matching headers.- Specified by:
getMatchingHeadersin interfacejakarta.mail.Part- Overrides:
getMatchingHeadersin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getNonMatchingHeaders
public java.util.Enumeration<jakarta.mail.Header> getNonMatchingHeaders(java.lang.String[] names) throws jakarta.mail.MessagingExceptionGet non-matching headers.- Specified by:
getNonMatchingHeadersin interfacejakarta.mail.Part- Overrides:
getNonMatchingHeadersin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
addHeaderLine
public void addHeaderLine(java.lang.String line) throws jakarta.mail.MessagingException- Specified by:
addHeaderLinein interfacejakarta.mail.internet.MimePart- Overrides:
addHeaderLinein classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getAllHeaderLines
public java.util.Enumeration<java.lang.String> getAllHeaderLines() throws jakarta.mail.MessagingExceptionGet all header-lines.- Specified by:
getAllHeaderLinesin interfacejakarta.mail.internet.MimePart- Overrides:
getAllHeaderLinesin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getMatchingHeaderLines
public java.util.Enumeration<java.lang.String> getMatchingHeaderLines(java.lang.String[] names) throws jakarta.mail.MessagingExceptionGet all matching header-lines.- Specified by:
getMatchingHeaderLinesin interfacejakarta.mail.internet.MimePart- Overrides:
getMatchingHeaderLinesin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getNonMatchingHeaderLines
public java.util.Enumeration<java.lang.String> getNonMatchingHeaderLines(java.lang.String[] names) throws jakarta.mail.MessagingExceptionGet all non-matching headerlines.- Specified by:
getNonMatchingHeaderLinesin interfacejakarta.mail.internet.MimePart- Overrides:
getNonMatchingHeaderLinesin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
getFlags
public jakarta.mail.Flags getFlags() throws jakarta.mail.MessagingExceptionGet the Flags for this message.- Overrides:
getFlagsin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
isSet
public boolean isSet(jakarta.mail.Flags.Flag flag) throws jakarta.mail.MessagingExceptionTest if the given Flags are set in this message.- Overrides:
isSetin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setFlags
public void setFlags(jakarta.mail.Flags flag, boolean set) throws jakarta.mail.MessagingExceptionSet/Unset the given flags in this message.- Overrides:
setFlagsin classjakarta.mail.internet.MimeMessage- Throws:
jakarta.mail.MessagingException
-
setPeek
public void setPeek(boolean peek)
Set whether or not to use the PEEK variant of FETCH when fetching message content. This overrides the default value from the "mail.imap.peek" property.- Parameters:
peek- the peek flag- Since:
- JavaMail 1.3.3
-
getPeek
public boolean getPeek()
Get whether or not to use the PEEK variant of FETCH when fetching message content.- Returns:
- the peek flag
- Since:
- JavaMail 1.3.3
-
invalidateHeaders
public void invalidateHeaders()
Invalidate cached header and envelope information for this message. Subsequent accesses of this information will cause it to be fetched from the server.- Since:
- JavaMail 1.3.3
-
handleFetchItem
protected boolean handleFetchItem(Item item, java.lang.String[] hdrs, boolean allHeaders) throws jakarta.mail.MessagingException
Apply the data in the FETCH item to this message. ASSERT: Must hold the messageCacheLock.- Parameters:
item- the fetch itemhdrs- the headers we're asking forallHeaders- load all headers?- Returns:
- did we handle this fetch item?
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.4.6
-
handleExtensionFetchItems
protected void handleExtensionFetchItems(java.util.Map<java.lang.String,java.lang.Object> extensionItems)
Apply the data in the extension FETCH items to this message. This method adds all the items to the items map. Subclasses may override this method to call super and then also copy the data to a more convenient form. ASSERT: Must hold the messageCacheLock.- Parameters:
extensionItems- the Map to add fetch items to- Since:
- JavaMail 1.4.6
-
fetchItem
protected java.lang.Object fetchItem(FetchItem fitem) throws jakarta.mail.MessagingException
Fetch an individual item for the current message. Note that handleExtensionFetchItems will have been called to store this item in the message before this method returns.- Parameters:
fitem- the FetchItem- Returns:
- the data associated with the FetchItem
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.4.6
-
getItem
public java.lang.Object getItem(FetchItem fitem) throws jakarta.mail.MessagingException
Return the data associated with the FetchItem. If the data hasn't been fetched, call the fetchItem method to fetch it. Returns null if there is no data for the FetchItem.- Parameters:
fitem- the FetchItem- Returns:
- the data associated with the FetchItem
- Throws:
jakarta.mail.MessagingException- for failures- Since:
- JavaMail 1.4.6
-
-