- All Implemented Interfaces:
Source
public class StAXSource extends Object implements Source
Acts as a holder for an XML Source
in the
form of a StAX reader,i.e.
XMLStreamReader
or XMLEventReader
.
StAXSource
can be used in all cases that accept
a Source
, e.g. Transformer
,
Validator
which accept
Source
as input.
StAXSource
s are consumed during processing
and are not reusable.
- Since:
- 1.6
- See Also:
-
JSR 173: Streaming API for XML,
XMLStreamReader
,XMLEventReader
-
Field Summary
Fields Modifier and Type Field Description static String
FEATURE
IfTransformerFactory.getFeature(String name)
returns true when passed this value as an argument, the Transformer supports Source input of this type. -
Constructor Summary
Constructors Constructor Description StAXSource(XMLEventReader xmlEventReader)
Creates a new instance of aStAXSource
by supplying anXMLEventReader
.StAXSource(XMLStreamReader xmlStreamReader)
Creates a new instance of aStAXSource
by supplying anXMLStreamReader
. -
Method Summary
Modifier and Type Method Description String
getSystemId()
Get the system identifier used by thisStAXSource
.XMLEventReader
getXMLEventReader()
Get theXMLEventReader
used by thisStAXSource
.XMLStreamReader
getXMLStreamReader()
Get theXMLStreamReader
used by thisStAXSource
.boolean
isEmpty()
Indicates whether theStAXSource
object is empty.void
setSystemId(String systemId)
In the context of aStAXSource
, it is not appropriate to explicitly set the system identifier.
-
Field Details
-
FEATURE
IfTransformerFactory.getFeature(String name)
returns true when passed this value as an argument, the Transformer supports Source input of this type.- See Also:
- Constant Field Values
-
-
Constructor Details
-
StAXSource
Creates a new instance of a
StAXSource
by supplying anXMLEventReader
.XMLEventReader
must be a non-null
reference.XMLEventReader
must be inXMLStreamConstants.START_DOCUMENT
orXMLStreamConstants.START_ELEMENT
state.- Parameters:
xmlEventReader
-XMLEventReader
used to create thisStAXSource
.- Throws:
XMLStreamException
- IfxmlEventReader
access throws anException
.IllegalArgumentException
- IfxmlEventReader
==null
.IllegalStateException
- IfxmlEventReader
is not inXMLStreamConstants.START_DOCUMENT
orXMLStreamConstants.START_ELEMENT
state.
-
StAXSource
Creates a new instance of a
StAXSource
by supplying anXMLStreamReader
.XMLStreamReader
must be a non-null
reference.XMLStreamReader
must be inXMLStreamConstants.START_DOCUMENT
orXMLStreamConstants.START_ELEMENT
state.- Parameters:
xmlStreamReader
-XMLStreamReader
used to create thisStAXSource
.- Throws:
IllegalArgumentException
- IfxmlStreamReader
==null
.IllegalStateException
- IfxmlStreamReader
is not inXMLStreamConstants.START_DOCUMENT
orXMLStreamConstants.START_ELEMENT
state.
-
-
Method Details
-
getXMLEventReader
Get the
XMLEventReader
used by thisStAXSource
.XMLEventReader
will benull
. if thisStAXSource
was created with aXMLStreamReader
.- Returns:
XMLEventReader
used by thisStAXSource
.
-
getXMLStreamReader
Get the
XMLStreamReader
used by thisStAXSource
.XMLStreamReader
will benull
if thisStAXSource
was created with aXMLEventReader
.- Returns:
XMLStreamReader
used by thisStAXSource
.
-
setSystemId
In the context of a
StAXSource
, it is not appropriate to explicitly set the system identifier. TheXMLStreamReader
orXMLEventReader
used to construct thisStAXSource
determines the system identifier of the XML source.An
UnsupportedOperationException
is always thrown by this method.- Specified by:
setSystemId
in interfaceSource
- Parameters:
systemId
- Ignored.- Throws:
UnsupportedOperationException
- Is always thrown by this method.
-
getSystemId
Get the system identifier used by this
StAXSource
.The
XMLStreamReader
orXMLEventReader
used to construct thisStAXSource
is queried to determine the system identifier of the XML source.The system identifier may be
null
or an empty""
String
.- Specified by:
getSystemId
in interfaceSource
- Returns:
- System identifier used by this
StAXSource
.
-
isEmpty
public boolean isEmpty()Indicates whether theStAXSource
object is empty. Since aStAXSource
object can never be empty, this method always returns false.
-