com.bea.xml.stream
Class SubReader

java.lang.Object
  extended bycom.bea.xml.stream.ReaderDelegate
      extended bycom.bea.xml.stream.SubReader
All Implemented Interfaces:
javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReader

public class SubReader
extends ReaderDelegate

Creates a SubReader over a node of a document


Field Summary
 
Fields inherited from interface javax.xml.stream.XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
 
Constructor Summary
SubReader(javax.xml.stream.XMLStreamReader reader)
           
 
Method Summary
 boolean hasNext()
          Returns true if there are more parsing events and false if there are no more events.
static void main(java.lang.String[] args)
           
 boolean moveToEndElement()
           
 boolean moveToEndElement(java.lang.String localName)
           
 boolean moveToEndElement(java.lang.String localName, java.lang.String namespaceUri)
           
 boolean moveToStartElement()
           
 boolean moveToStartElement(java.lang.String localName)
           
 boolean moveToStartElement(java.lang.String localName, java.lang.String namespaceUri)
           
 int next()
          Get next parsing event - a processor may return all contiguous character data in a single chunk, or it may split it into several chunks.
 int nextElement()
           
static void print(javax.xml.stream.XMLStreamReader r, int depth)
           
static void sub(javax.xml.stream.XMLStreamReader r, int depth)
           
 
Methods inherited from class com.bea.xml.stream.ReaderDelegate
close, getAttributeCount, getAttributeLocalName, getAttributeName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getCharacterEncodingScheme, getDelegate, getElementText, getEncoding, getEventType, getLocalName, getLocation, getName, getNamespaceContext, getNamespaceCount, getNamespacePrefix, getNamespaceURI, getNamespaceURI, getNamespaceURI, getPIData, getPITarget, getPrefix, getProperty, getText, getTextCharacters, getTextCharacters, getTextLength, getTextStart, getVersion, hasName, hasText, isAttributeSpecified, isCharacters, isEndElement, isStandalone, isStartElement, isWhiteSpace, nextTag, require, setDelegate, standaloneSet
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SubReader

public SubReader(javax.xml.stream.XMLStreamReader reader)
          throws javax.xml.stream.XMLStreamException
Method Detail

next

public int next()
         throws javax.xml.stream.XMLStreamException
Description copied from interface: javax.xml.stream.XMLStreamReader
Get next parsing event - a processor may return all contiguous character data in a single chunk, or it may split it into several chunks. If the property javax.xml.stream.isCoalescing is set to true element content must be coalesced and only one CHARACTERS event must be returned for contiguous element content or CDATA Sections. By default entity references must be expanded and reported transparently to the application. An exception will be thrown if an entity reference cannot be expanded. If element content is empty (i.e. content is "") then no CHARACTERS event will be reported.

Given the following XML:
<foo><!--description-->content text<![CDATA[<greeting>Hello</greeting>]]>other content</foo>
The behavior of calling next() when being on foo will be:
1- the comment (COMMENT)
2- then the characters section (CHARACTERS)
3- then the CDATA section (another CHARACTERS)
4- then the next characters section (another CHARACTERS)
5- then the END_ELEMENT

NOTE: empty element (such as <tag/>) will be reported with two separate events: START_ELEMENT, END_ELEMENT - This preserves parsing equivalency of empty element to <tag></tag>. This method will throw an IllegalStateException if it is called after hasNext() returns false.

Specified by:
next in interface javax.xml.stream.XMLStreamReader
Overrides:
next in class ReaderDelegate
Throws:
javax.xml.stream.XMLStreamException

nextElement

public int nextElement()
                throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

hasNext

public boolean hasNext()
                throws javax.xml.stream.XMLStreamException
Description copied from interface: javax.xml.stream.XMLStreamReader
Returns true if there are more parsing events and false if there are no more events. This method will return false if the current state of the XMLStreamReader is END_DOCUMENT

Specified by:
hasNext in interface javax.xml.stream.XMLStreamReader
Overrides:
hasNext in class ReaderDelegate
Throws:
javax.xml.stream.XMLStreamException

moveToStartElement

public boolean moveToStartElement()
                           throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

moveToStartElement

public boolean moveToStartElement(java.lang.String localName)
                           throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

moveToStartElement

public boolean moveToStartElement(java.lang.String localName,
                                  java.lang.String namespaceUri)
                           throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

moveToEndElement

public boolean moveToEndElement()
                         throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

moveToEndElement

public boolean moveToEndElement(java.lang.String localName)
                         throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

moveToEndElement

public boolean moveToEndElement(java.lang.String localName,
                                java.lang.String namespaceUri)
                         throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

print

public static void print(javax.xml.stream.XMLStreamReader r,
                         int depth)
                  throws javax.xml.stream.XMLStreamException
Throws:
javax.xml.stream.XMLStreamException

sub

public static void sub(javax.xml.stream.XMLStreamReader r,
                       int depth)
                throws java.lang.Exception
Throws:
java.lang.Exception

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception