Class StreamSource
- All Implemented Interfaces:
Source
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.
- Since:
- 1.4
Field Summary
Modifier and Type | Field | Description |
---|---|---|
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. |
Constructor Summary
Constructor | Description |
---|---|
StreamSource() |
Zero-argument default constructor. |
StreamSource |
Construct a StreamSource from a File. |
StreamSource |
Construct a StreamSource from a byte stream. |
StreamSource |
Construct a StreamSource from a byte stream. |
StreamSource |
Construct a StreamSource from a character reader. |
StreamSource |
Construct a StreamSource from a character reader. |
StreamSource |
Construct a StreamSource from a URL. |
Method Summary
Modifier and Type | Method | Description |
---|---|---|
InputStream |
getInputStream() |
Get the byte stream that was set with setByteStream. |
String |
getPublicId() |
Get the public identifier that was set with setPublicId. |
Reader |
getReader() |
Get the character stream that was set with setReader. |
String |
getSystemId() |
Get the system identifier that was set with setSystemId. |
boolean |
isEmpty() |
Indicates whether the StreamSource object is empty. |
void |
setInputStream |
Set the byte stream to be used as input. |
void |
setPublicId |
Set the public identifier for this Source. |
void |
setReader |
Set the input to be a character reader. |
void |
setSystemId |
Set the system ID from a File reference. |
void |
setSystemId |
Set the system identifier for this Source. |
Field Details
FEATURE
public static final String FEATURE
TransformerFactory.getFeature(java.lang.String)
returns true when passed this value as an argument, the Transformer supports Source input of this type.- See Also:
Constructor Details
StreamSource
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()
.
StreamSource
public StreamSource(InputStream inputStream)
If this constructor is used to process a stylesheet, normally setSystemId should also be called, so that relative URI references can be resolved.
- Parameters:
-
inputStream
- A valid InputStream reference to an XML stream.
StreamSource
public StreamSource(InputStream inputStream, String systemId)
This constructor allows the systemID to be set in addition to the input stream, which allows relative URIs to be processed.
- Parameters:
-
inputStream
- A valid InputStream reference to an XML stream. -
systemId
- Must be a String that conforms to the URI syntax.
StreamSource
public StreamSource(Reader reader)
- Parameters:
-
reader
- A valid Reader reference to an XML character stream.
StreamSource
public StreamSource(Reader reader, String systemId)
- Parameters:
-
reader
- A valid Reader reference to an XML character stream. -
systemId
- Must be a String that conforms to the URI syntax.
StreamSource
public StreamSource(String systemId)
- Parameters:
-
systemId
- Must be a String that conforms to the URI syntax.
StreamSource
public StreamSource(File f)
- Parameters:
-
f
- Must a non-null File reference.
Method Details
setInputStream
public void setInputStream(InputStream inputStream)
If this Source object is used to process a stylesheet, normally setSystemId should also be called, so that relative URL references can be resolved.
- Parameters:
-
inputStream
- A valid InputStream reference to an XML stream.
getInputStream
public InputStream getInputStream()
- Returns:
- The byte stream that was set with setByteStream, or null if setByteStream or the ByteStream constructor was not called.
setReader
public void setReader(Reader reader)
- Parameters:
-
reader
- A valid Reader reference to an XML CharacterStream.
getReader
public Reader getReader()
- Returns:
- The character stream that was set with setReader, or null if setReader or the Reader constructor was not called.
setPublicId
public void setPublicId(String publicId)
The public identifier is always optional: if the application writer includes one, it will be provided as part of the location information.
- Parameters:
-
publicId
- The public identifier as a string.
getPublicId
public String getPublicId()
- Returns:
- The public identifier that was set with setPublicId, or null if setPublicId was not called.
setSystemId
public void setSystemId(String systemId)
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).
- Specified by:
-
setSystemId
in interfaceSource
- Parameters:
-
systemId
- The system identifier as a URL string.
getSystemId
public String getSystemId()
- Specified by:
-
getSystemId
in interfaceSource
- Returns:
- The system identifier that was set with setSystemId, or null if setSystemId was not called.
setSystemId
public void setSystemId(File f)
- Parameters:
-
f
- Must a non-null File reference.
isEmpty
public boolean isEmpty()
StreamSource
object is empty. Empty is defined as follows: - All of the input sources, including the public identifier, system identifier, byte stream, and character stream, are
null
. - The public identifier and system identifier are
null
, and byte and character stream are eithernull
or contain no byte or character.Note that this method will reset the byte stream if it is provided, or the character stream if the byte stream is not provided.
In case of error while checking the byte or character stream, the method will return false to allow the XML processor to handle the error.
© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.xml/javax/xml/transform/stream/StreamSource.html