com.bea.wli.sb.sources
Class MessageContextSource

java.lang.Object
  extended by com.bea.wli.sb.sources.MessageContextSource
All Implemented Interfaces:
Source

public class MessageContextSource
extends Object
implements Source

Source that represents all message content. The Source for the message and attachments are left untyped to allow for deferred processing. Eventually, however, the attachments source will likely be converted into an AttachmentsSource and the message source will likely be converted to a specific typed source such as an XmlObjectSource or a StringSource. Note that the serialization format of a MessageContextSource is always a MIME multipart/related package, irrespective of the "native" serializations of the message and attachment sources. However, if this serialized is needed more than once, it is best to transform the Source into a MimeSource.


Field Summary
static String MIME_BOUNDARY
          The default MIME_Boundary and name of TransformOptions option
 
Fields inherited from interface com.bea.wli.sb.sources.Source
DEFAULT_CHARACTER_SET_ENCODING
 
Method Summary
 Source getAttachments()
           
 javax.mail.internet.ContentType getContentType()
           
 InputStream getInputStream(TransformOptions options)
          Returns streaming byte-baseed representation of the Source's content.
static MessageContextSource getInstance(javax.mail.internet.ContentType contentType, Headers messageHeaders, Source message)
           
static MessageContextSource getInstance(javax.mail.internet.ContentType contentType, Headers messageHeaders, Source message, Source attachments)
           
 Source getMessage()
           
 Headers getMessageHeaders()
           
 void writeTo(OutputStream os, TransformOptions options)
          Serializes the Source's content to a byte-based stream.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MIME_BOUNDARY

public static final String MIME_BOUNDARY
The default MIME_Boundary and name of TransformOptions option

See Also:
Constant Field Values
Method Detail

getInstance

public static MessageContextSource getInstance(javax.mail.internet.ContentType contentType,
                                               Headers messageHeaders,
                                               Source message)

getInstance

public static MessageContextSource getInstance(javax.mail.internet.ContentType contentType,
                                               Headers messageHeaders,
                                               Source message,
                                               Source attachments)

getContentType

public javax.mail.internet.ContentType getContentType()

getMessageHeaders

public Headers getMessageHeaders()

getMessage

public Source getMessage()

getAttachments

public Source getAttachments()

getInputStream

public InputStream getInputStream(TransformOptions options)
                           throws IOException,
                                  TransformException
Description copied from interface: Source
Returns streaming byte-baseed representation of the Source's content. The representation of that serialization is entirely up to the Source. Note that this method may involve an internal transformation, although it should not in any way change the underlying content.

Specified by:
getInputStream in interface Source
Parameters:
options - Options used to affect the serialization
Returns:
an InputStream for retrieving the serialized content
Throws:
IOException
TransformException

writeTo

public void writeTo(OutputStream os,
                    TransformOptions options)
             throws IOException,
                    TransformException
Description copied from interface: Source
Serializes the Source's content to a byte-based stream. The representation of that serialization is entirely up to the Source. The Source is forbidden from closing the provided OutputStream, although it is allowed to flush it. However, flushing the stream should be left to the caller, if possible.

Note that this method may involve an internal transformation, although it should not in any way change the underlying content.

Specified by:
writeTo in interface Source
Parameters:
os - the OutputStream to which serialized content will be written
options - TransformOptions used to affect the serialization
Throws:
IOException
TransformException