com.bea.wli.sb.sources
Class StreamSource
java.lang.Object
com.bea.wli.sb.sources.StreamSource
- All Implemented Interfaces:
- SingleUseSource, Source
public final class StreamSource
- extends Object
- implements SingleUseSource
A byte-stream Source whose content comes from an InputStream.
As a byte-stream source, the serialization methods do not heed any
transformation options.
NOTE: since this stream is backed by an InputStream, that means that
this source is a single-use source. Both serialization methods pull
from the same underlying InputStream, and once that content is consumed,
it is gone. The push-based writeTo()
method will result
in all data being consumed immediately, assuming no error occurs. The
pull-based getInputStream()
actually gives the underlying
InputStream directly to the caller.
StreamSource
public StreamSource(InputStream inputStream)
- Parameters:
inputStream
- A valid InputStream reference to an XML stream.
getInputStream
public InputStream getInputStream(TransformOptions options)
- 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
writeTo
public void writeTo(OutputStream out,
TransformOptions options)
throws IOException
- 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 writtenoptions
- TransformOptions used to affect the serialization
- Throws:
IOException
isConsumed
public boolean isConsumed()
- Description copied from interface:
SingleUseSource
- Indicates if the Source has already been consumed
- Specified by:
isConsumed
in interface SingleUseSource
- Returns: