org.apache.james.core
Class MimeMessageWrapper
java.lang.Object
|
+--javax.mail.Message
|
+--javax.mail.internet.MimeMessage
|
+--org.apache.james.core.MimeMessageWrapper
- All Implemented Interfaces:
- javax.mail.internet.MimePart, javax.mail.Part
- public class MimeMessageWrapper
- extends javax.mail.internet.MimeMessage
This object wraps a MimeMessage, only loading the underlying MimeMessage
object when needed. Also tracks if changes were made to reduce
unnecessary saves.
Inner classes inherited from class javax.mail.internet.MimeMessage |
javax.mail.internet.MimeMessage.RecipientType |
Inner classes inherited from class javax.mail.Message |
javax.mail.Message.RecipientType |
Fields inherited from class javax.mail.internet.MimeMessage |
content, contentStream, dh, flags, headers, modified, saved |
Fields inherited from class javax.mail.Message |
expunged, folder, msgnum, session |
Fields inherited from interface javax.mail.Part |
ATTACHMENT, INLINE |
Method Summary |
void |
addFrom(javax.mail.Address[] addresses)
|
void |
addHeader(java.lang.String name,
java.lang.String value)
|
void |
addHeaderLine(java.lang.String line)
|
void |
addRecipients(javax.mail.Message.RecipientType type,
javax.mail.Address[] addresses)
|
java.util.Enumeration |
getAllHeaderLines()
|
java.util.Enumeration |
getAllHeaders()
|
javax.mail.Address[] |
getAllRecipients()
|
java.lang.Object |
getContent()
|
java.lang.String |
getContentID()
|
java.lang.String[] |
getContentLanguage()
|
java.lang.String |
getContentMD5()
|
java.lang.String |
getContentType()
|
javax.activation.DataHandler |
getDataHandler()
|
java.lang.String |
getDescription()
|
java.lang.String |
getDisposition()
|
java.lang.String |
getEncoding()
|
java.lang.String |
getFileName()
|
javax.mail.Flags |
getFlags()
|
javax.mail.Address[] |
getFrom()
Various reader methods |
java.lang.String[] |
getHeader(java.lang.String name)
|
java.lang.String |
getHeader(java.lang.String name,
java.lang.String delimiter)
|
java.io.InputStream |
getInputStream()
|
int |
getLineCount()
Corrects JavaMail 1.1 version which always returns -1. |
java.util.Enumeration |
getMatchingHeaderLines(java.lang.String[] names)
|
java.util.Enumeration |
getMatchingHeaders(java.lang.String[] names)
|
java.lang.String |
getMessageID()
|
int |
getMessageSize()
Returns size of message, ie headers and content. |
java.util.Enumeration |
getNonMatchingHeaderLines(java.lang.String[] names)
|
java.util.Enumeration |
getNonMatchingHeaders(java.lang.String[] names)
|
java.util.Date |
getReceivedDate()
|
javax.mail.Address[] |
getRecipients(javax.mail.Message.RecipientType type)
|
javax.mail.Address[] |
getReplyTo()
|
java.util.Date |
getSentDate()
|
int |
getSize()
|
java.lang.String |
getSubject()
|
boolean |
isMimeType(java.lang.String mimeType)
|
boolean |
isModified()
Special methods you can call |
boolean |
isSet(javax.mail.Flags.Flag flag)
|
void |
removeHeader(java.lang.String name)
|
javax.mail.Message |
reply(boolean replyToAll)
|
void |
saveChanges()
|
void |
setContent(javax.mail.Multipart mp)
|
void |
setContent(java.lang.Object o,
java.lang.String type)
|
void |
setContentID(java.lang.String cid)
|
void |
setContentLanguage(java.lang.String[] languages)
|
void |
setContentMD5(java.lang.String md5)
|
void |
setDataHandler(javax.activation.DataHandler dh)
|
void |
setDescription(java.lang.String description)
|
void |
setDescription(java.lang.String description,
java.lang.String charset)
|
void |
setDisposition(java.lang.String disposition)
|
void |
setFileName(java.lang.String filename)
|
void |
setFlags(javax.mail.Flags flag,
boolean set)
|
void |
setFrom()
|
void |
setFrom(javax.mail.Address address)
Various writer methods |
void |
setHeader(java.lang.String name,
java.lang.String value)
|
void |
setRecipients(javax.mail.Message.RecipientType type,
javax.mail.Address[] addresses)
|
void |
setReplyTo(javax.mail.Address[] addresses)
|
void |
setSentDate(java.util.Date d)
|
void |
setSubject(java.lang.String subject)
|
void |
setSubject(java.lang.String subject,
java.lang.String charset)
|
void |
setText(java.lang.String text)
|
void |
setText(java.lang.String text,
java.lang.String charset)
|
void |
writeContentTo(java.io.OutputStream outs)
Writes content only, ie not headers, to the specified outputstream. |
static void |
writeTo(javax.mail.internet.MimeMessage message,
java.io.OutputStream headerOs,
java.io.OutputStream bodyOs)
Convenience method to take any MimeMessage and write the headers and body to two
different output streams |
static void |
writeTo(javax.mail.internet.MimeMessage message,
java.io.OutputStream headerOs,
java.io.OutputStream bodyOs,
java.lang.String[] ignoreList)
Convenience method to take any MimeMessage and write the headers and body to two
different output streams, with an ignore list |
void |
writeTo(java.io.OutputStream os)
Rewritten for optimization purposes |
void |
writeTo(java.io.OutputStream headerOs,
java.io.OutputStream bodyOs)
Write |
void |
writeTo(java.io.OutputStream headerOs,
java.io.OutputStream bodyOs,
java.lang.String[] ignoreList)
|
void |
writeTo(java.io.OutputStream os,
java.lang.String[] ignoreList)
Rewritten for optimization purposes |
Methods inherited from class javax.mail.internet.MimeMessage |
addRecipients, createInternetHeaders, getContentStream, getRawInputStream, parse, setRecipients, updateHeaders |
Methods inherited from class javax.mail.Message |
addRecipient, getFolder, getMessageNumber, isExpunged, match, setExpunged, setFlag, setMessageNumber, setRecipient |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MimeMessageWrapper
public MimeMessageWrapper(MimeMessageSource source)
MimeMessageWrapper
public MimeMessageWrapper(javax.mail.Session session,
MimeMessageSource source)
isModified
public boolean isModified()
- Special methods you can call
writeTo
public void writeTo(java.io.OutputStream os)
throws java.io.IOException,
javax.mail.MessagingException
- Rewritten for optimization purposes
- Overrides:
writeTo
in class javax.mail.internet.MimeMessage
writeTo
public void writeTo(java.io.OutputStream os,
java.lang.String[] ignoreList)
throws java.io.IOException,
javax.mail.MessagingException
- Rewritten for optimization purposes
- Overrides:
writeTo
in class javax.mail.internet.MimeMessage
writeTo
public void writeTo(java.io.OutputStream headerOs,
java.io.OutputStream bodyOs)
throws java.io.IOException,
javax.mail.MessagingException
- Write
writeTo
public void writeTo(java.io.OutputStream headerOs,
java.io.OutputStream bodyOs,
java.lang.String[] ignoreList)
throws java.io.IOException,
javax.mail.MessagingException
writeTo
public static void writeTo(javax.mail.internet.MimeMessage message,
java.io.OutputStream headerOs,
java.io.OutputStream bodyOs)
throws java.io.IOException,
javax.mail.MessagingException
- Convenience method to take any MimeMessage and write the headers and body to two
different output streams
writeTo
public static void writeTo(javax.mail.internet.MimeMessage message,
java.io.OutputStream headerOs,
java.io.OutputStream bodyOs,
java.lang.String[] ignoreList)
throws java.io.IOException,
javax.mail.MessagingException
- Convenience method to take any MimeMessage and write the headers and body to two
different output streams, with an ignore list
getFrom
public javax.mail.Address[] getFrom()
throws javax.mail.MessagingException
- Various reader methods
- Overrides:
getFrom
in class javax.mail.internet.MimeMessage
getRecipients
public javax.mail.Address[] getRecipients(javax.mail.Message.RecipientType type)
throws javax.mail.MessagingException
- Overrides:
getRecipients
in class javax.mail.internet.MimeMessage
getAllRecipients
public javax.mail.Address[] getAllRecipients()
throws javax.mail.MessagingException
- Overrides:
getAllRecipients
in class javax.mail.internet.MimeMessage
getReplyTo
public javax.mail.Address[] getReplyTo()
throws javax.mail.MessagingException
- Overrides:
getReplyTo
in class javax.mail.internet.MimeMessage
getSubject
public java.lang.String getSubject()
throws javax.mail.MessagingException
- Overrides:
getSubject
in class javax.mail.internet.MimeMessage
getSentDate
public java.util.Date getSentDate()
throws javax.mail.MessagingException
- Overrides:
getSentDate
in class javax.mail.internet.MimeMessage
getReceivedDate
public java.util.Date getReceivedDate()
throws javax.mail.MessagingException
- Overrides:
getReceivedDate
in class javax.mail.internet.MimeMessage
getSize
public int getSize()
throws javax.mail.MessagingException
- Overrides:
getSize
in class javax.mail.internet.MimeMessage
getLineCount
public int getLineCount()
throws javax.mail.MessagingException
- Corrects JavaMail 1.1 version which always returns -1.
Only corrected for content less than 5000 bytes,
to avoid memory hogging.
- Overrides:
getLineCount
in class javax.mail.internet.MimeMessage
getMessageSize
public int getMessageSize()
throws javax.mail.MessagingException
- Returns size of message, ie headers and content. Current implementation
actually returns number of characters in headers plus number of bytes
in the internal content byte array.
getContentType
public java.lang.String getContentType()
throws javax.mail.MessagingException
- Overrides:
getContentType
in class javax.mail.internet.MimeMessage
isMimeType
public boolean isMimeType(java.lang.String mimeType)
throws javax.mail.MessagingException
- Overrides:
isMimeType
in class javax.mail.internet.MimeMessage
getDisposition
public java.lang.String getDisposition()
throws javax.mail.MessagingException
- Overrides:
getDisposition
in class javax.mail.internet.MimeMessage
getEncoding
public java.lang.String getEncoding()
throws javax.mail.MessagingException
- Overrides:
getEncoding
in class javax.mail.internet.MimeMessage
getContentID
public java.lang.String getContentID()
throws javax.mail.MessagingException
- Overrides:
getContentID
in class javax.mail.internet.MimeMessage
getContentMD5
public java.lang.String getContentMD5()
throws javax.mail.MessagingException
- Overrides:
getContentMD5
in class javax.mail.internet.MimeMessage
getDescription
public java.lang.String getDescription()
throws javax.mail.MessagingException
- Overrides:
getDescription
in class javax.mail.internet.MimeMessage
getContentLanguage
public java.lang.String[] getContentLanguage()
throws javax.mail.MessagingException
- Overrides:
getContentLanguage
in class javax.mail.internet.MimeMessage
getMessageID
public java.lang.String getMessageID()
throws javax.mail.MessagingException
- Overrides:
getMessageID
in class javax.mail.internet.MimeMessage
getFileName
public java.lang.String getFileName()
throws javax.mail.MessagingException
- Overrides:
getFileName
in class javax.mail.internet.MimeMessage
getInputStream
public java.io.InputStream getInputStream()
throws java.io.IOException,
javax.mail.MessagingException
- Overrides:
getInputStream
in class javax.mail.internet.MimeMessage
getDataHandler
public javax.activation.DataHandler getDataHandler()
throws javax.mail.MessagingException
- Overrides:
getDataHandler
in class javax.mail.internet.MimeMessage
getContent
public java.lang.Object getContent()
throws java.io.IOException,
javax.mail.MessagingException
- Overrides:
getContent
in class javax.mail.internet.MimeMessage
getHeader
public java.lang.String[] getHeader(java.lang.String name)
throws javax.mail.MessagingException
- Overrides:
getHeader
in class javax.mail.internet.MimeMessage
getHeader
public java.lang.String getHeader(java.lang.String name,
java.lang.String delimiter)
throws javax.mail.MessagingException
- Overrides:
getHeader
in class javax.mail.internet.MimeMessage
getAllHeaders
public java.util.Enumeration getAllHeaders()
throws javax.mail.MessagingException
- Overrides:
getAllHeaders
in class javax.mail.internet.MimeMessage
getMatchingHeaders
public java.util.Enumeration getMatchingHeaders(java.lang.String[] names)
throws javax.mail.MessagingException
- Overrides:
getMatchingHeaders
in class javax.mail.internet.MimeMessage
getNonMatchingHeaders
public java.util.Enumeration getNonMatchingHeaders(java.lang.String[] names)
throws javax.mail.MessagingException
- Overrides:
getNonMatchingHeaders
in class javax.mail.internet.MimeMessage
getAllHeaderLines
public java.util.Enumeration getAllHeaderLines()
throws javax.mail.MessagingException
- Overrides:
getAllHeaderLines
in class javax.mail.internet.MimeMessage
getMatchingHeaderLines
public java.util.Enumeration getMatchingHeaderLines(java.lang.String[] names)
throws javax.mail.MessagingException
- Overrides:
getMatchingHeaderLines
in class javax.mail.internet.MimeMessage
getNonMatchingHeaderLines
public java.util.Enumeration getNonMatchingHeaderLines(java.lang.String[] names)
throws javax.mail.MessagingException
- Overrides:
getNonMatchingHeaderLines
in class javax.mail.internet.MimeMessage
getFlags
public javax.mail.Flags getFlags()
throws javax.mail.MessagingException
- Overrides:
getFlags
in class javax.mail.internet.MimeMessage
isSet
public boolean isSet(javax.mail.Flags.Flag flag)
throws javax.mail.MessagingException
- Overrides:
isSet
in class javax.mail.internet.MimeMessage
writeContentTo
public void writeContentTo(java.io.OutputStream outs)
throws java.io.IOException,
javax.mail.MessagingException
- Writes content only, ie not headers, to the specified outputstream.
setFrom
public void setFrom(javax.mail.Address address)
throws javax.mail.MessagingException
- Various writer methods
- Overrides:
setFrom
in class javax.mail.internet.MimeMessage
setFrom
public void setFrom()
throws javax.mail.MessagingException
- Overrides:
setFrom
in class javax.mail.internet.MimeMessage
addFrom
public void addFrom(javax.mail.Address[] addresses)
throws javax.mail.MessagingException
- Overrides:
addFrom
in class javax.mail.internet.MimeMessage
setRecipients
public void setRecipients(javax.mail.Message.RecipientType type,
javax.mail.Address[] addresses)
throws javax.mail.MessagingException
- Overrides:
setRecipients
in class javax.mail.internet.MimeMessage
addRecipients
public void addRecipients(javax.mail.Message.RecipientType type,
javax.mail.Address[] addresses)
throws javax.mail.MessagingException
- Overrides:
addRecipients
in class javax.mail.internet.MimeMessage
setReplyTo
public void setReplyTo(javax.mail.Address[] addresses)
throws javax.mail.MessagingException
- Overrides:
setReplyTo
in class javax.mail.internet.MimeMessage
setSubject
public void setSubject(java.lang.String subject)
throws javax.mail.MessagingException
- Overrides:
setSubject
in class javax.mail.internet.MimeMessage
setSubject
public void setSubject(java.lang.String subject,
java.lang.String charset)
throws javax.mail.MessagingException
- Overrides:
setSubject
in class javax.mail.internet.MimeMessage
setSentDate
public void setSentDate(java.util.Date d)
throws javax.mail.MessagingException
- Overrides:
setSentDate
in class javax.mail.internet.MimeMessage
setDisposition
public void setDisposition(java.lang.String disposition)
throws javax.mail.MessagingException
- Overrides:
setDisposition
in class javax.mail.internet.MimeMessage
setContentID
public void setContentID(java.lang.String cid)
throws javax.mail.MessagingException
- Overrides:
setContentID
in class javax.mail.internet.MimeMessage
setContentMD5
public void setContentMD5(java.lang.String md5)
throws javax.mail.MessagingException
- Overrides:
setContentMD5
in class javax.mail.internet.MimeMessage
setDescription
public void setDescription(java.lang.String description)
throws javax.mail.MessagingException
- Overrides:
setDescription
in class javax.mail.internet.MimeMessage
setDescription
public void setDescription(java.lang.String description,
java.lang.String charset)
throws javax.mail.MessagingException
- Overrides:
setDescription
in class javax.mail.internet.MimeMessage
setContentLanguage
public void setContentLanguage(java.lang.String[] languages)
throws javax.mail.MessagingException
- Overrides:
setContentLanguage
in class javax.mail.internet.MimeMessage
setFileName
public void setFileName(java.lang.String filename)
throws javax.mail.MessagingException
- Overrides:
setFileName
in class javax.mail.internet.MimeMessage
setDataHandler
public void setDataHandler(javax.activation.DataHandler dh)
throws javax.mail.MessagingException
- Overrides:
setDataHandler
in class javax.mail.internet.MimeMessage
setContent
public void setContent(java.lang.Object o,
java.lang.String type)
throws javax.mail.MessagingException
- Overrides:
setContent
in class javax.mail.internet.MimeMessage
setText
public void setText(java.lang.String text)
throws javax.mail.MessagingException
- Overrides:
setText
in class javax.mail.internet.MimeMessage
setText
public void setText(java.lang.String text,
java.lang.String charset)
throws javax.mail.MessagingException
- Overrides:
setText
in class javax.mail.internet.MimeMessage
setContent
public void setContent(javax.mail.Multipart mp)
throws javax.mail.MessagingException
- Overrides:
setContent
in class javax.mail.internet.MimeMessage
reply
public javax.mail.Message reply(boolean replyToAll)
throws javax.mail.MessagingException
- Overrides:
reply
in class javax.mail.internet.MimeMessage
setHeader
public void setHeader(java.lang.String name,
java.lang.String value)
throws javax.mail.MessagingException
- Overrides:
setHeader
in class javax.mail.internet.MimeMessage
addHeader
public void addHeader(java.lang.String name,
java.lang.String value)
throws javax.mail.MessagingException
- Overrides:
addHeader
in class javax.mail.internet.MimeMessage
removeHeader
public void removeHeader(java.lang.String name)
throws javax.mail.MessagingException
- Overrides:
removeHeader
in class javax.mail.internet.MimeMessage
addHeaderLine
public void addHeaderLine(java.lang.String line)
throws javax.mail.MessagingException
- Overrides:
addHeaderLine
in class javax.mail.internet.MimeMessage
setFlags
public void setFlags(javax.mail.Flags flag,
boolean set)
throws javax.mail.MessagingException
- Overrides:
setFlags
in class javax.mail.internet.MimeMessage
saveChanges
public void saveChanges()
throws javax.mail.MessagingException
- Overrides:
saveChanges
in class javax.mail.internet.MimeMessage
Copyright © 2001 Apache Jakarta Project. All Rights Reserved.