Class MimeSource

java.lang.Object
com.bea.wli.sb.sources.MimeSource
All Implemented Interfaces:
com.bea.wli.sb.sources.ContentTypeAwareSource, com.bea.wli.sb.sources.RefCountedSource, Source, Serializable

public class MimeSource extends Object implements Source, com.bea.wli.sb.sources.RefCountedSource, com.bea.wli.sb.sources.ContentTypeAwareSource, Serializable
Source representing arbitrary content with headers. Essentially this is a Source that represents a MIME part. Headers must conform to RFC822 whereas the Source can be any type of source.

The serialization format for this Source is a fully-compliant MIME package. This source is also cognizant of Content-Transfer-Encoding, and it will perform the proper encoding of the underlying content stream if the header is present. Note that this means that the Source provided to the constructor should be in raw form and should not be already encoded.

See Also:
  • Field Details

    • EXCLUDE_HEADERS

      public static final String EXCLUDE_HEADERS
      transform option that tells the source not to include the MIME multipart headers when returning source content as a stream
      See Also:
  • Constructor Details

    • MimeSource

      public MimeSource(com.bea.wli.sb.sources.Headers headers, Source content)
  • Method Details

    • getHeaders

      public com.bea.wli.sb.sources.Headers getHeaders()
    • getContent

      public Source getContent()
    • getContentType

      public String getContentType()
      Specified by:
      getContentType in interface com.bea.wli.sb.sources.ContentTypeAwareSource
    • 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 out, 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:
      out - the OutputStream to which serialized content will be written
      options - TransformOptions used to affect the serialization
      Throws:
      IOException
      TransformException
    • addRef

      public void addRef()
      Specified by:
      addRef in interface com.bea.wli.sb.sources.RefCountedSource
    • dispose

      public void dispose() throws IOException
      Specified by:
      dispose in interface com.bea.wli.sb.sources.RefCountedSource
      Throws:
      IOException