- java.lang.Object
-
- javax.xml.transform.stax.StAXSource
-
- 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
orXMLEventReader
.StAXSource
can be used in all cases that accept aSource
, e.g.Transformer
,Validator
which acceptSource
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 Detail
-
FEATURE
public static final String 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 Detail
-
StAXSource
public StAXSource(XMLEventReader xmlEventReader) throws XMLStreamException
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
public StAXSource(XMLStreamReader xmlStreamReader)
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 Detail
-
getXMLEventReader
public XMLEventReader getXMLEventReader()
Get the
XMLEventReader
used by thisStAXSource
.XMLEventReader
will benull
. if thisStAXSource
was created with aXMLStreamReader
.- Returns:
XMLEventReader
used by thisStAXSource
.
-
getXMLStreamReader
public XMLStreamReader getXMLStreamReader()
Get the
XMLStreamReader
used by thisStAXSource
.XMLStreamReader
will benull
if thisStAXSource
was created with aXMLEventReader
.- Returns:
XMLStreamReader
used by thisStAXSource
.
-
setSystemId
public void setSystemId(String systemId)
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
public String 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
.
-
-