JDOM
2.0.5

org.jdom2.input
Class StAXStreamBuilder

java.lang.Object
  extended by org.jdom2.input.StAXStreamBuilder

public class StAXStreamBuilder
extends java.lang.Object

Builds a JDOM Document from a StAX-based XMLStreamReader.

XMLStreamReaders are pre-configured and as a result JDOM is not able to alter whether the input is validated, or whether the Stream has escaped entities or not. These (and other) characteristics are configurable by setting the correct features and properties on the XMLInputFactory when it is used to create the XMLStreamReader.

Useful configuration to set, or know about is:

From a JDOM perspective XMLStreamReaders are more efficient than XMLEventReaders. Where possible use an XMLStreamReader.

If you happen to be looking at the source code, pay careful attention to the imports so you know what type of instance is being processed, whether it is a StAX class, or a JDOM class, because there are name conflicts.

Author:
Rolf Lear

Constructor Summary
StAXStreamBuilder()
           
 
Method Summary
 Document build(javax.xml.stream.XMLStreamReader reader)
          This builds a document from the supplied XMLStreamReader.
 java.util.List<Content> buildFragments(javax.xml.stream.XMLStreamReader reader, StAXFilter filter)
          Read the entire XMLStreamReader and from it build a list of Content that conforms to the rules in the supplied StAXFilter.
 Content fragment(javax.xml.stream.XMLStreamReader reader)
          Read the current XML Fragment from the XMLStreamReader.
 JDOMFactory getFactory()
          Returns the current JDOMFactory in use.
 void setFactory(JDOMFactory factory)
          This sets a custom JDOMFactory for the builder.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StAXStreamBuilder

public StAXStreamBuilder()
Method Detail

getFactory

public JDOMFactory getFactory()
Returns the current JDOMFactory in use.

Returns:
the factory in use

setFactory

public void setFactory(JDOMFactory factory)
This sets a custom JDOMFactory for the builder. Use this to build the tree with your own subclasses of the JDOM classes.

Parameters:
factory - JDOMFactory to use

build

public Document build(javax.xml.stream.XMLStreamReader reader)
               throws JDOMException
This builds a document from the supplied XMLStreamReader.

The JDOMContent will be built by the current JDOMFactory.

Parameters:
reader - XMLStreamReader to read from
Returns:
Document resultant Document object
Throws:
JDOMException - when errors occur in parsing

buildFragments

public java.util.List<Content> buildFragments(javax.xml.stream.XMLStreamReader reader,
                                              StAXFilter filter)
                                       throws JDOMException
Read the entire XMLStreamReader and from it build a list of Content that conforms to the rules in the supplied StAXFilter.

Parameters:
reader - The XMLStreamReader to parse
filter - The Filter to use for the Content
Returns:
a List of Content that were identified by the supplied filter
Throws:
JDOMException - if there was a parsing problem.

fragment

public Content fragment(javax.xml.stream.XMLStreamReader reader)
                 throws JDOMException
Read the current XML Fragment from the XMLStreamReader. The XMLStreamReader must be at some 'content' state, it cannot be at START_DOCUMENT, for example.

Parameters:
reader - The XMLStreamReader to read the next fragment from
Returns:
The JDOM fragment at the current position in the reader
Throws:
JDOMException - if there is an issue with the state of the XMLStreamReader or some other issue with the processing.

JDOM
2.0.5

Copyright 2013 Jason Hunter, Brett McLaughlin. All Rights Reserved.