public class StreamSource extends Object implements Source
Acts 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 Reader
or InputStream
instance, StreamSource
instances may only be used once.
public static final String FEATURE
If TransformerFactory.getFeature(java.lang.String)
returns true when passed this value as an argument, the Transformer supports Source input of this type.
public StreamSource()
Zero-argument default constructor. If this constructor is used, and no Stream source is set using setInputStream(java.io.InputStream inputStream)
or setReader(java.io.Reader reader)
, then the Transformer
will create an empty source InputStream
using 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.
inputStream
- A valid InputStream reference to an XML stream.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.
inputStream
- A valid InputStream reference to an XML stream.systemId
- Must be a String that conforms to the URI syntax.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.
reader
- A valid Reader reference to an XML character stream.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.
reader
- A valid Reader reference to an XML character stream.systemId
- Must be a String that conforms to the URI syntax.public StreamSource(String systemId)
Construct a StreamSource from a URL.
systemId
- Must be a String that conforms to the URI syntax.public StreamSource(File f)
Construct a StreamSource from a File.
f
- Must a non-null File reference.public void setInputStream(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.
inputStream
- A valid InputStream reference to an XML stream.public InputStream getInputStream()
Get the byte stream that was set with setByteStream.
public void setReader(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.
reader
- A valid Reader reference to an XML CharacterStream.public Reader getReader()
Get the character stream that was set with setReader.
public void setPublicId(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.
publicId
- The public identifier as a string.public String getPublicId()
Get the public identifier that was set with setPublicId.
public void setSystemId(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).
setSystemId
in interface Source
systemId
- The system identifier as a URL string.public String getSystemId()
Get the system identifier that was set with setSystemId.
getSystemId
in interface Source
public void setSystemId(File f)
Set the system ID from a File reference.
f
- Must a non-null File reference.
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.