org.springframework.util.xml
Class StaxUtils
- java.lang.Object
-
- org.springframework.util.xml.StaxUtils
public abstract class StaxUtils extends Object
Convenience methods for working with the StAX API.In particular, methods for using StAX (
javax.xml.stream
) in combination with the TrAX API (javax.xml.transform
), and converting StAX readers/writers into SAX readers/handlers and vice-versa.- Since:
- 3.0
- Author:
- Arjen Poutsma, Juergen Hoeller
-
Constructor Summary
Constructors Constructor and Description StaxUtils()
Method Summary
Methods Modifier and Type Method and Description static ContentHandler
createContentHandler(XMLEventWriter eventWriter)
Create a SAXContentHandler
that writes events to the given StAXXMLEventWriter
.static ContentHandler
createContentHandler(XMLStreamWriter streamWriter)
Create a SAXContentHandler
that writes to the given StAXXMLStreamWriter
.static Result
createCustomStaxResult(XMLEventWriter eventWriter)
Create a custom, non-JAXP 1.4 StAXResult
for the givenXMLEventWriter
.static Result
createCustomStaxResult(XMLStreamWriter streamWriter)
Create a custom, non-JAXP 1.4 StAXResult
for the givenXMLStreamWriter
.static Source
createCustomStaxSource(XMLEventReader eventReader)
Create a custom, non-JAXP 1.4 StAXSource
for the givenXMLEventReader
.static Source
createCustomStaxSource(XMLStreamReader streamReader)
Create a custom, non-JAXP 1.4 StAXSource
for the givenXMLStreamReader
.static XMLStreamReader
createEventStreamReader(XMLEventReader eventReader)
Return aXMLStreamReader
that reads from aXMLEventReader
.static XMLStreamWriter
createEventStreamWriter(XMLEventWriter eventWriter)
Return aXMLStreamWriter
that writes to aXMLEventWriter
.static XMLStreamWriter
createEventStreamWriter(XMLEventWriter eventWriter, XMLEventFactory eventFactory)
Return aXMLStreamWriter
that writes to aXMLEventWriter
.static Result
createStaxResult(XMLEventWriter eventWriter)
Create a StAXResult
for the givenXMLEventWriter
.static Result
createStaxResult(XMLStreamWriter streamWriter)
Create a StAXResult
for the givenXMLStreamWriter
.static Source
createStaxSource(XMLEventReader eventReader)
Create a StAXSource
for the givenXMLEventReader
.static Source
createStaxSource(XMLStreamReader streamReader)
Create a StAXSource
for the givenXMLStreamReader
.static XMLReader
createXMLReader(XMLEventReader eventReader)
Create a SAXXMLReader
that reads from the given StAXXMLEventReader
.static XMLReader
createXMLReader(XMLStreamReader streamReader)
Create a SAXXMLReader
that reads from the given StAXXMLStreamReader
.static XMLEventReader
getXMLEventReader(Source source)
Return theXMLEventReader
for the given StAX Source.static XMLEventWriter
getXMLEventWriter(Result result)
Return theXMLEventWriter
for the given StAX Result.static XMLStreamReader
getXMLStreamReader(Source source)
Return theXMLStreamReader
for the given StAX Source.static XMLStreamWriter
getXMLStreamWriter(Result result)
Return theXMLStreamWriter
for the given StAX Result.static boolean
isStaxResult(Result result)
Indicate whether the givenResult
is a StAX Result.static boolean
isStaxSource(Source source)
Indicate whether the givenSource
is a StAX Source.static boolean
isStaxSourceClass(Class<? extends Source> clazz)
Indicate whether the given class is a StAX Source class.
-
Method Detail
createCustomStaxSource
public static Source createCustomStaxSource(XMLStreamReader streamReader)
Create a custom, non-JAXP 1.4 StAXSource
for the givenXMLStreamReader
.- Parameters:
-
streamReader
- the StAX stream reader - Returns:
-
a source wrapping the
streamReader
createStaxSource
public static Source createStaxSource(XMLStreamReader streamReader)
Create a StAXSource
for the givenXMLStreamReader
.If JAXP 1.4 is available, this method returns a
StAXSource
; otherwise it returns a custom StAX Source.- Parameters:
-
streamReader
- the StAX stream reader - Returns:
-
a source wrapping the
streamReader
- See Also:
-
createCustomStaxSource(XMLStreamReader)
createCustomStaxSource
public static Source createCustomStaxSource(XMLEventReader eventReader)
Create a custom, non-JAXP 1.4 StAXSource
for the givenXMLEventReader
.- Parameters:
-
eventReader
- the StAX event reader - Returns:
-
a source wrapping the
eventReader
createStaxSource
public static Source createStaxSource(XMLEventReader eventReader) throws XMLStreamException
Create a StAXSource
for the givenXMLEventReader
.If JAXP 1.4 is available, this method returns a
StAXSource
; otherwise it returns a custom StAX Source.- Parameters:
-
eventReader
- the StAX event reader - Returns:
-
a source wrapping the
eventReader
- Throws:
-
XMLStreamException
- in case of StAX errors - See Also:
-
createCustomStaxSource(XMLEventReader)
isStaxSource
public static boolean isStaxSource(Source source)
Indicate whether the givenSource
is a StAX Source.- Returns:
-
true
ifsource
is a custom StAX source or JAXP 1.4StAXSource
;false
otherwise.
isStaxSourceClass
public static boolean isStaxSourceClass(Class<? extends Source> clazz)
Indicate whether the given class is a StAX Source class.- Returns:
-
true
ifsource
is a custom StAX source or JAXP 1.4StAXSource
class;false
otherwise.
createCustomStaxResult
public static Result createCustomStaxResult(XMLStreamWriter streamWriter)
Create a custom, non-JAXP 1.4 StAXResult
for the givenXMLStreamWriter
.- Parameters:
-
streamWriter
- the StAX stream writer - Returns:
-
a source wrapping the
streamWriter
createStaxResult
public static Result createStaxResult(XMLStreamWriter streamWriter)
Create a StAXResult
for the givenXMLStreamWriter
.If JAXP 1.4 is available, this method returns a
StAXResult
; otherwise it returns a custom StAX Result.- Parameters:
-
streamWriter
- the StAX stream writer - Returns:
-
a result wrapping the
streamWriter
- See Also:
-
createCustomStaxResult(XMLStreamWriter)
createCustomStaxResult
public static Result createCustomStaxResult(XMLEventWriter eventWriter)
Create a custom, non-JAXP 1.4 StAXResult
for the givenXMLEventWriter
.- Parameters:
-
eventWriter
- the StAX event writer - Returns:
-
a source wrapping the
eventWriter
createStaxResult
public static Result createStaxResult(XMLEventWriter eventWriter) throws XMLStreamException
Create a StAXResult
for the givenXMLEventWriter
.If JAXP 1.4 is available, this method returns a
StAXResult
; otherwise it returns a custom StAX Result.- Parameters:
-
eventWriter
- the StAX event writer - Returns:
-
a result wrapping
streamReader
- Throws:
-
XMLStreamException
- in case of StAX errors - See Also:
-
createCustomStaxResult(XMLEventWriter)
isStaxResult
public static boolean isStaxResult(Result result)
Indicate whether the givenResult
is a StAX Result.- Returns:
-
true
ifresult
is a custom Stax Result or JAXP 1.4StAXResult
;false
otherwise.
getXMLStreamReader
public static XMLStreamReader getXMLStreamReader(Source source)
Return theXMLStreamReader
for the given StAX Source.- Parameters:
-
source
- a custom StAX Source or JAXP 1.4StAXSource
- Returns:
-
the
XMLStreamReader
- Throws:
-
IllegalArgumentException
- ifsource
is neither a custom StAX Source nor JAXP 1.4StAXSource
getXMLEventReader
public static XMLEventReader getXMLEventReader(Source source)
Return theXMLEventReader
for the given StAX Source.- Parameters:
-
source
- a custom StAX Source or JAXP 1.4StAXSource
- Returns:
-
the
XMLEventReader
- Throws:
-
IllegalArgumentException
- ifsource
is neither a custom StAX Source nor a JAXP 1.4StAXSource
getXMLStreamWriter
public static XMLStreamWriter getXMLStreamWriter(Result result)
Return theXMLStreamWriter
for the given StAX Result.- Parameters:
-
result
- a custom StAX Result or JAXP 1.4StAXResult
- Returns:
-
the
XMLStreamReader
- Throws:
-
IllegalArgumentException
- ifsource
is neither a custom StAX Result nor a JAXP 1.4StAXResult
getXMLEventWriter
public static XMLEventWriter getXMLEventWriter(Result result)
Return theXMLEventWriter
for the given StAX Result.- Parameters:
-
result
- a custom StAX Result or JAXP 1.4StAXResult
- Returns:
-
the
XMLStreamReader
- Throws:
-
IllegalArgumentException
- ifsource
is neither a custom StAX Result nor a JAXP 1.4StAXResult
createContentHandler
public static ContentHandler createContentHandler(XMLStreamWriter streamWriter)
Create a SAXContentHandler
that writes to the given StAXXMLStreamWriter
.- Parameters:
-
streamWriter
- the StAX stream writer - Returns:
-
a content handler writing to the
streamWriter
createContentHandler
public static ContentHandler createContentHandler(XMLEventWriter eventWriter)
Create a SAXContentHandler
that writes events to the given StAXXMLEventWriter
.- Parameters:
-
eventWriter
- the StAX event writer - Returns:
-
a content handler writing to the
eventWriter
createXMLReader
public static XMLReader createXMLReader(XMLStreamReader streamReader)
Create a SAXXMLReader
that reads from the given StAXXMLStreamReader
.- Parameters:
-
streamReader
- the StAX stream reader - Returns:
-
a XMLReader reading from the
streamWriter
createXMLReader
public static XMLReader createXMLReader(XMLEventReader eventReader)
Create a SAXXMLReader
that reads from the given StAXXMLEventReader
.- Parameters:
-
eventReader
- the StAX event reader - Returns:
-
a XMLReader reading from the
eventWriter
createEventStreamReader
public static XMLStreamReader createEventStreamReader(XMLEventReader eventReader) throws XMLStreamException
Return aXMLStreamReader
that reads from aXMLEventReader
. Useful, because the StAXXMLInputFactory
allows one to create a event reader from a stream reader, but not vice-versa.- Returns:
- a stream reader that reads from an event reader
- Throws:
-
XMLStreamException
createEventStreamWriter
public static XMLStreamWriter createEventStreamWriter(XMLEventWriter eventWriter)
Return aXMLStreamWriter
that writes to aXMLEventWriter
.- Returns:
- a stream writer that writes to an event writer
- Since:
- 3.2
createEventStreamWriter
public static XMLStreamWriter createEventStreamWriter(XMLEventWriter eventWriter, XMLEventFactory eventFactory)
Return aXMLStreamWriter
that writes to aXMLEventWriter
.- Returns:
- a stream writer that writes to an event writer
- Since:
- 3.0.5