org.apache.axiom.om.impl.dom
Class DOMStAXWrapper

java.lang.Object
  extended by org.apache.axiom.om.impl.dom.DOMStAXWrapper
All Implemented Interfaces:
javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamReader

public class DOMStAXWrapper
extends java.lang.Object
implements javax.xml.stream.XMLStreamReader, javax.xml.stream.XMLStreamConstants

This is exactly the same as org.apache.axiom.om.impl.llom.OMStAXWrapper. BUT this uses the org.apache.axis2.om.impl.dom.DOMNavigator.

Note - This class also implements the streaming constants interface to get access to the StAX constants.


Field Summary
private  org.apache.axiom.om.OMXMLParserWrapper builder
          Field builder
private static short COMPLETED
           
private  int currentEvent
          Field currentEvent Default set to START_DOCUMENT
private  org.apache.axiom.om.OMNode currentNode
          Field currentNode
private static short DOCUMENT_COMPLETE
           
private  java.util.Stack elementStack
          Field elementStack
private  boolean isFirst
          Field isFirst
private  org.apache.axiom.om.OMNode lastNode
          Field lastNode
private static short NAVIGABLE
          Field NAVIGABLE
private  DOMNavigator navigator
          Field navigator
private  boolean needToThrowEndDocument
           
private  org.apache.axiom.om.OMNode nextNode
          Field nextNode
private  javax.xml.stream.XMLStreamReader parser
          Field parser
private  org.apache.axiom.om.OMNode rootNode
          Field rootNode
private  short state
          Field state
private static short SWITCH_AT_NEXT
           
private static short SWITCHED
           
(package private)  boolean switchingAllowed
          Field switchingAllowed
 
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
DOMStAXWrapper(org.apache.axiom.om.OMXMLParserWrapper builder, org.apache.axiom.om.OMElement startNode)
          When constructing the OMStaxWrapper, the creator must produce the builder (an instance of the OMXMLparserWrapper of the input) and the Element Node to start parsing.
DOMStAXWrapper(org.apache.axiom.om.OMXMLParserWrapper builder, org.apache.axiom.om.OMElement startNode, boolean cache)
          Constructor OMStAXWrapper
 
Method Summary
 void close()
          Method close.
private  int generateCdataEvents()
          Method generateCdataEvents.
private  int generateCommentEvents()
          Method generateCommentEvents.
private  int generateElementEvents(org.apache.axiom.om.OMElement elt)
          Method generateElementEvents.
private  int generateEvents(org.apache.axiom.om.OMNode node)
          Method generateEvents
private  int generateTextEvents()
          Method generateTextEvents.
private  org.apache.axiom.om.OMAttribute getAttribute(org.apache.axiom.om.OMElement elt, int index)
           
 int getAttributeCount()
           
 java.lang.String getAttributeLocalName(int i)
           
 javax.xml.namespace.QName getAttributeName(int i)
           
 java.lang.String getAttributeNamespace(int i)
           
 java.lang.String getAttributePrefix(int i)
           
 java.lang.String getAttributeType(int i)
           
 java.lang.String getAttributeValue(int i)
           
 java.lang.String getAttributeValue(java.lang.String s, java.lang.String s1)
          Method getAttributeValue.
 java.lang.String getCharacterEncodingScheme()
          Method getCharacterEncodingScheme.
private  int getCount(java.util.Iterator it)
          helper method.
 java.lang.String getElementText()
           
 java.lang.String getEncoding()
          Method getEncoding.
 int getEventType()
           
private  java.lang.Object getItemFromIterator(java.util.Iterator it, int index)
          Helper method.
 java.lang.String getLocalName()
           
 javax.xml.stream.Location getLocation()
          Method getLocation.
 javax.xml.namespace.QName getName()
           
 javax.xml.namespace.NamespaceContext getNamespaceContext()
          Method getNamespaceContext.
 int getNamespaceCount()
           
 java.lang.String getNamespacePrefix(int i)
           
 java.lang.String getNamespaceURI()
           
 java.lang.String getNamespaceURI(int i)
           
 java.lang.String getNamespaceURI(java.lang.String s)
          Method getNamespaceURI.
 java.lang.String getPIData()
          Method getPIData.
 java.lang.String getPITarget()
          Method getPITarget.
 java.lang.String getPrefix()
           
 java.lang.Object getProperty(java.lang.String s)
          Method getProperty.
private  javax.xml.namespace.QName getQName(org.apache.axiom.om.OMElement element)
          Helper method.
 java.lang.String getText()
           
 char[] getTextCharacters()
           
 int getTextCharacters(int i, char[] chars, int i1, int i2)
           
 int getTextLength()
           
 int getTextStart()
           
 java.lang.String getVersion()
          Method getVersion.
 boolean hasName()
           
 boolean hasNext()
          Method hasNext.
 boolean hasText()
           
 boolean isAllowSwitching()
          Method isAllowSwitching.
 boolean isAttributeSpecified(int i)
           
 boolean isCharacters()
          Method isCharacters.
 boolean isEndElement()
          Method isEndElement.
 boolean isStandalone()
          Method isStandalone.
 boolean isStartElement()
          Method isStartElement.
 boolean isWhiteSpace()
          Method isWhiteSpace.
 int next()
          Method next.
 int nextTag()
          Not implemented yet
 void require(int i, java.lang.String s, java.lang.String s1)
           
 void setAllowSwitching(boolean b)
          Method setAllowSwitching.
 void setParser(javax.xml.stream.XMLStreamReader parser)
           
 boolean standaloneSet()
          Method standaloneSet.
private  void updateCompleteStatus()
          Method updateCompleteStatus.
private  void updateLastNode()
          This is a very important method.
private  void updateNextNode()
          Method updateNextNode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

navigator

private DOMNavigator navigator
Field navigator


builder

private org.apache.axiom.om.OMXMLParserWrapper builder
Field builder


parser

private javax.xml.stream.XMLStreamReader parser
Field parser


rootNode

private org.apache.axiom.om.OMNode rootNode
Field rootNode


isFirst

private boolean isFirst
Field isFirst


NAVIGABLE

private static final short NAVIGABLE
Field NAVIGABLE

See Also:
Constant Field Values

SWITCH_AT_NEXT

private static final short SWITCH_AT_NEXT
See Also:
Constant Field Values

COMPLETED

private static final short COMPLETED
See Also:
Constant Field Values

SWITCHED

private static final short SWITCHED
See Also:
Constant Field Values

DOCUMENT_COMPLETE

private static final short DOCUMENT_COMPLETE
See Also:
Constant Field Values

state

private short state
Field state


currentEvent

private int currentEvent
Field currentEvent Default set to START_DOCUMENT


switchingAllowed

boolean switchingAllowed
Field switchingAllowed


elementStack

private java.util.Stack elementStack
Field elementStack


nextNode

private org.apache.axiom.om.OMNode nextNode
Field nextNode


currentNode

private org.apache.axiom.om.OMNode currentNode
Field currentNode


lastNode

private org.apache.axiom.om.OMNode lastNode
Field lastNode


needToThrowEndDocument

private boolean needToThrowEndDocument
Constructor Detail

DOMStAXWrapper

public DOMStAXWrapper(org.apache.axiom.om.OMXMLParserWrapper builder,
                      org.apache.axiom.om.OMElement startNode)
When constructing the OMStaxWrapper, the creator must produce the builder (an instance of the OMXMLparserWrapper of the input) and the Element Node to start parsing. The wrapper parses(proceed) until the end of the given element. Hence care must be taken to pass the root element if the entire document is needed.

Parameters:
builder -
startNode -

DOMStAXWrapper

public DOMStAXWrapper(org.apache.axiom.om.OMXMLParserWrapper builder,
                      org.apache.axiom.om.OMElement startNode,
                      boolean cache)
Constructor OMStAXWrapper

Parameters:
builder -
startNode -
cache -
Method Detail

setAllowSwitching

public void setAllowSwitching(boolean b)
Method setAllowSwitching.

Parameters:
b -

isAllowSwitching

public boolean isAllowSwitching()
Method isAllowSwitching.

Returns:
Returns boolean.

getPrefix

public java.lang.String getPrefix()
Specified by:
getPrefix in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
See Also:
XMLStreamReader.getPrefix()

getNamespaceURI

public java.lang.String getNamespaceURI()
Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
See Also:
XMLStreamReader.getNamespaceURI()

hasName

public boolean hasName()
Specified by:
hasName in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
See Also:
XMLStreamReader.hasName()

getLocalName

public java.lang.String getLocalName()
Specified by:
getLocalName in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
See Also:
XMLStreamReader.getLocalName()

getName

public javax.xml.namespace.QName getName()
Specified by:
getName in interface javax.xml.stream.XMLStreamReader
Returns:
Returns QName.
See Also:
XMLStreamReader.getName()

hasText

public boolean hasText()
Specified by:
hasText in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.
See Also:
XMLStreamReader.hasText()

getTextLength

public int getTextLength()
Specified by:
getTextLength in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
See Also:
XMLStreamReader.getTextLength()

getTextStart

public int getTextStart()
Specified by:
getTextStart in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
See Also:
XMLStreamReader.getTextStart()

getTextCharacters

public int getTextCharacters(int i,
                             char[] chars,
                             int i1,
                             int i2)
                      throws javax.xml.stream.XMLStreamException
Specified by:
getTextCharacters in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
chars -
i1 -
i2 -
Returns:
Returns int.
Throws:
javax.xml.stream.XMLStreamException
See Also:
XMLStreamReader.getTextCharacters(int, char[], int, int)

getTextCharacters

public char[] getTextCharacters()
Specified by:
getTextCharacters in interface javax.xml.stream.XMLStreamReader
Returns:
Returns char[].
See Also:
XMLStreamReader.getTextCharacters()

getText

public java.lang.String getText()
Specified by:
getText in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
See Also:
XMLStreamReader.getText()

getEventType

public int getEventType()
Specified by:
getEventType in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
See Also:
XMLStreamReader.getEventType()

getNamespaceURI

public java.lang.String getNamespaceURI(int i)
Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getNamespaceURI()

getNamespacePrefix

public java.lang.String getNamespacePrefix(int i)
Specified by:
getNamespacePrefix in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getNamespacePrefix(int)

getNamespaceCount

public int getNamespaceCount()
Specified by:
getNamespaceCount in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
See Also:
XMLStreamReader.getNamespaceCount()

isAttributeSpecified

public boolean isAttributeSpecified(int i)
Specified by:
isAttributeSpecified in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns boolean.
See Also:
XMLStreamReader.isAttributeSpecified(int)

getAttributeValue

public java.lang.String getAttributeValue(int i)
Specified by:
getAttributeValue in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getAttributeValue(int)

getAttributeType

public java.lang.String getAttributeType(int i)
Specified by:
getAttributeType in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getAttributeType(int)

getAttributePrefix

public java.lang.String getAttributePrefix(int i)
Specified by:
getAttributePrefix in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getAttributePrefix(int)

getAttributeLocalName

public java.lang.String getAttributeLocalName(int i)
Specified by:
getAttributeLocalName in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getAttributeLocalName(int)

getAttributeNamespace

public java.lang.String getAttributeNamespace(int i)
Specified by:
getAttributeNamespace in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns String.
See Also:
XMLStreamReader.getAttributeNamespace(int)

getAttributeName

public javax.xml.namespace.QName getAttributeName(int i)
Specified by:
getAttributeName in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
Returns:
Returns QName.
See Also:
XMLStreamReader.getAttributeName(int)

getAttributeCount

public int getAttributeCount()
Specified by:
getAttributeCount in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
See Also:
XMLStreamReader.getAttributeCount()

getAttributeValue

public java.lang.String getAttributeValue(java.lang.String s,
                                          java.lang.String s1)
Method getAttributeValue.

Specified by:
getAttributeValue in interface javax.xml.stream.XMLStreamReader
Parameters:
s -
s1 -
Returns:
Returns String.

isWhiteSpace

public boolean isWhiteSpace()
Method isWhiteSpace.

Specified by:
isWhiteSpace in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

isCharacters

public boolean isCharacters()
Method isCharacters.

Specified by:
isCharacters in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

isEndElement

public boolean isEndElement()
Method isEndElement.

Specified by:
isEndElement in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

require

public void require(int i,
                    java.lang.String s,
                    java.lang.String s1)
             throws javax.xml.stream.XMLStreamException
Specified by:
require in interface javax.xml.stream.XMLStreamReader
Parameters:
i -
s -
s1 -
Throws:
javax.xml.stream.XMLStreamException
See Also:
XMLStreamReader.require(int, String, String)

isStartElement

public boolean isStartElement()
Method isStartElement.

Specified by:
isStartElement in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

getNamespaceURI

public java.lang.String getNamespaceURI(java.lang.String s)
Method getNamespaceURI.

Specified by:
getNamespaceURI in interface javax.xml.stream.XMLStreamReader
Parameters:
s -
Returns:
Returns String.

close

public void close()
           throws javax.xml.stream.XMLStreamException
Method close.

Specified by:
close in interface javax.xml.stream.XMLStreamReader
Throws:
javax.xml.stream.XMLStreamException

hasNext

public boolean hasNext()
                throws javax.xml.stream.XMLStreamException
Method hasNext.

Specified by:
hasNext in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.
Throws:
javax.xml.stream.XMLStreamException

nextTag

public int nextTag()
            throws javax.xml.stream.XMLStreamException
Not implemented yet

Specified by:
nextTag in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
Throws:
org.apache.axiom.om.impl.exception.OMStreamingException
javax.xml.stream.XMLStreamException

getElementText

public java.lang.String getElementText()
                                throws javax.xml.stream.XMLStreamException
Specified by:
getElementText in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.
Throws:
javax.xml.stream.XMLStreamException
See Also:
XMLStreamReader.getElementText()

next

public int next()
         throws javax.xml.stream.XMLStreamException
Method next.

Specified by:
next in interface javax.xml.stream.XMLStreamReader
Returns:
Returns int.
Throws:
javax.xml.stream.XMLStreamException

getProperty

public java.lang.Object getProperty(java.lang.String s)
                             throws java.lang.IllegalArgumentException
Method getProperty.

Specified by:
getProperty in interface javax.xml.stream.XMLStreamReader
Parameters:
s -
Returns:
Returns Object.
Throws:
java.lang.IllegalArgumentException

updateLastNode

private void updateLastNode()
                     throws javax.xml.stream.XMLStreamException
This is a very important method. This keeps the navigator one step ahead and pushes the navigator one event ahead. If the nextNode is null then navigable is set to false; At the same time the parser and builder are set up for the upcoming event generation

Throws:
javax.xml.stream.XMLStreamException

updateNextNode

private void updateNextNode()
Method updateNextNode.


updateCompleteStatus

private void updateCompleteStatus()
Method updateCompleteStatus.


getNamespaceContext

public javax.xml.namespace.NamespaceContext getNamespaceContext()
Method getNamespaceContext.

Specified by:
getNamespaceContext in interface javax.xml.stream.XMLStreamReader
Returns:
Returns NamespaceContext.

getEncoding

public java.lang.String getEncoding()
Method getEncoding.

Specified by:
getEncoding in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.

getLocation

public javax.xml.stream.Location getLocation()
Method getLocation.

Specified by:
getLocation in interface javax.xml.stream.XMLStreamReader
Returns:
Returns Location.

getVersion

public java.lang.String getVersion()
Method getVersion.

Specified by:
getVersion in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.

isStandalone

public boolean isStandalone()
Method isStandalone.

Specified by:
isStandalone in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

standaloneSet

public boolean standaloneSet()
Method standaloneSet.

Specified by:
standaloneSet in interface javax.xml.stream.XMLStreamReader
Returns:
Returns boolean.

getCharacterEncodingScheme

public java.lang.String getCharacterEncodingScheme()
Method getCharacterEncodingScheme.

Specified by:
getCharacterEncodingScheme in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.

getPITarget

public java.lang.String getPITarget()
Method getPITarget.

Specified by:
getPITarget in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.

getPIData

public java.lang.String getPIData()
Method getPIData.

Specified by:
getPIData in interface javax.xml.stream.XMLStreamReader
Returns:
Returns String.

generateEvents

private int generateEvents(org.apache.axiom.om.OMNode node)
Method generateEvents

Parameters:
node -
Returns:
Returns int.

generateElementEvents

private int generateElementEvents(org.apache.axiom.om.OMElement elt)
Method generateElementEvents.

Parameters:
elt -
Returns:
Returns int.

generateTextEvents

private int generateTextEvents()
Method generateTextEvents.

Returns:
Returns int.

generateCommentEvents

private int generateCommentEvents()
Method generateCommentEvents.

Returns:
Returns int.

generateCdataEvents

private int generateCdataEvents()
Method generateCdataEvents.

Returns:
Returns int.

getCount

private int getCount(java.util.Iterator it)
helper method.

Parameters:
it -
Returns:
Returns int.

getItemFromIterator

private java.lang.Object getItemFromIterator(java.util.Iterator it,
                                             int index)
Helper method.

Parameters:
it -
index -
Returns:
Returns Object.

getQName

private javax.xml.namespace.QName getQName(org.apache.axiom.om.OMElement element)
Helper method.

Parameters:
element -
Returns:
Returns QName.

getAttribute

private org.apache.axiom.om.OMAttribute getAttribute(org.apache.axiom.om.OMElement elt,
                                                     int index)
Parameters:
elt -
index -
Returns:
Returns OMAttribute.

setParser

public void setParser(javax.xml.stream.XMLStreamReader parser)