StreamSourcepublic class StreamSource extends Object implements SourceActs as an holder for a transformation Source in the form
of a stream of XML markup.
Note: Due to their internal use of either a {@link Reader} or {@link InputStream} instance,
StreamSource instances may only be used once. |
Fields Summary |
---|
public static final String | FEATUREIf {@link javax.xml.transform.TransformerFactory#getFeature}
returns true when passed this value as an argument,
the Transformer supports Source input of this type. | private String | publicIdThe public identifier for this input source, or null. | private String | systemIdThe system identifier as a URL string, or null. | private InputStream | inputStreamThe byte stream for this Source, or null. | private Reader | readerThe character stream for this Source, or null. |
Constructors Summary |
---|
public StreamSource()Zero-argument default constructor. If this constructor is used, and
no Stream source is set using
{@link #setInputStream(java.io.InputStream inputStream)} or
{@link #setReader(java.io.Reader reader)}, then the
Transformer will
create an empty source {@link java.io.InputStream} using
{@link java.io.InputStream#InputStream() new InputStream()}.
| public StreamSource(InputStream inputStream)Construct a StreamSource from a byte stream. Normally,
a stream should be used rather than a reader, so
the XML parser can resolve character encoding specified
by the XML declaration.
If this constructor is used to process a stylesheet, normally
setSystemId should also be called, so that relative URI references
can be resolved.
setInputStream(inputStream);
| public StreamSource(InputStream inputStream, String systemId)Construct a StreamSource from a byte stream. Normally,
a stream should be used rather than a reader, so that
the XML parser can resolve character encoding specified
by the XML declaration.
This constructor allows the systemID to be set in addition
to the input stream, which allows relative URIs
to be processed.
setInputStream(inputStream);
setSystemId(systemId);
| public StreamSource(Reader reader)Construct a StreamSource from a character reader. Normally,
a stream should be used rather than a reader, so that
the XML parser can resolve character encoding specified
by the XML declaration. However, in many cases the encoding
of the input stream is already resolved, as in the case of
reading XML from a StringReader.
setReader(reader);
| public StreamSource(Reader reader, String systemId)Construct a StreamSource from a character reader. Normally,
a stream should be used rather than a reader, so that
the XML parser may resolve character encoding specified
by the XML declaration. However, in many cases the encoding
of the input stream is already resolved, as in the case of
reading XML from a StringReader.
setReader(reader);
setSystemId(systemId);
| public StreamSource(String systemId)Construct a StreamSource from a URL.
this.systemId = systemId;
| public StreamSource(File f)Construct a StreamSource from a File.
//convert file to appropriate URI, f.toURI().toASCIIString()
//converts the URI to string as per rule specified in
//RFC 2396,
setSystemId(f.toURI().toASCIIString());
|
Methods Summary |
---|
public java.io.InputStream | getInputStream()Get the byte stream that was set with setByteStream.
return inputStream;
| public java.lang.String | getPublicId()Get the public identifier that was set with setPublicId.
return publicId;
| public java.io.Reader | getReader()Get the character stream that was set with setReader.
return reader;
| public java.lang.String | getSystemId()Get the system identifier that was set with setSystemId.
return systemId;
| public void | setInputStream(java.io.InputStream inputStream)Set the byte stream to be used as input. Normally,
a stream should be used rather than a reader, so that
the XML parser can resolve character encoding specified
by the XML declaration.
If this Source object is used to process a stylesheet, normally
setSystemId should also be called, so that relative URL references
can be resolved.
this.inputStream = inputStream;
| public void | setPublicId(java.lang.String publicId)Set the public identifier for this Source.
The public identifier is always optional: if the application
writer includes one, it will be provided as part of the
location information.
this.publicId = publicId;
| public void | setReader(java.io.Reader reader)Set the input to be a character reader. Normally,
a stream should be used rather than a reader, so that
the XML parser can resolve character encoding specified
by the XML declaration. However, in many cases the encoding
of the input stream is already resolved, as in the case of
reading XML from a StringReader.
this.reader = reader;
| public void | setSystemId(java.lang.String systemId)Set the system identifier for this Source.
The system identifier is optional if there is a byte stream
or a character stream, but it is still useful to provide one,
since the application can use it to resolve relative URIs
and can include it in error messages and warnings (the parser
will attempt to open a connection to the URI only if
there is no byte stream or character stream specified).
this.systemId = systemId;
| public void | setSystemId(java.io.File f)Set the system ID from a File reference.
//convert file to appropriate URI, f.toURI().toASCIIString()
//converts the URI to string as per rule specified in
//RFC 2396,
this.systemId = f.toURI().toASCIIString();
|
|