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

java.lang.Object
  extended byorg.apache.axiom.om.impl.dom.NodeImpl
All Implemented Interfaces:
java.lang.Cloneable, org.w3c.dom.Node, org.w3c.dom.NodeList, OMNode, OMNodeEx
Direct Known Subclasses:
AttrImpl, ChildNode

public abstract class NodeImpl
extends java.lang.Object
implements org.w3c.dom.Node, org.w3c.dom.NodeList, OMNodeEx, java.lang.Cloneable


Field Summary
protected  OMXMLParserWrapper builder
          Field builder
protected  boolean done
          Field done
protected  OMFactory factory
          Factory that created this node
protected static short FIRSTCHILD
           
protected  short flags
           
protected  int nodeType
          Field nodeType
protected static short NORMALIZED
           
protected static short OWNED
           
protected  DocumentImpl ownerNode
           
protected static short READONLY
           
protected static short SPECIFIED
           
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Fields inherited from interface org.apache.axiom.om.OMNode
CDATA_SECTION_NODE, COMMENT_NODE, DTD_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, PI_NODE, SPACE_NODE, TEXT_NODE
 
Constructor Summary
protected NodeImpl(DocumentImpl ownerDocument, OMFactory factory)
           
protected NodeImpl(OMFactory factory)
           
 
Method Summary
 org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
           
 void build()
          Builds next element.
 org.w3c.dom.Node cloneNode(boolean deep)
           
 short compareDocumentPosition(org.w3c.dom.Node arg0)
           
 OMNode detach()
          Removes a node (and all of its children) from its containing parent.
 org.w3c.dom.NamedNodeMap getAttributes()
          Returns the collection of attributes associated with this node, or null if none.
 java.lang.String getBaseURI()
           
 org.w3c.dom.NodeList getChildNodes()
           
 java.lang.Object getFeature(java.lang.String arg0, java.lang.String arg1)
           
 org.w3c.dom.Node getFirstChild()
          Gets the first child of this Node, or null if none.
 org.w3c.dom.Node getLastChild()
          Gets the last child of this Node, or null if none.
 int getLength()
          NodeList method: Returns the number of immediate children of this node.
 java.lang.String getLocalName()
           
 java.lang.String getNamespaceURI()
           
 OMNode getNextOMSibling()
          Default behavior returns null, overriden in ChildNode.
 org.w3c.dom.Node getNextSibling()
          Returns the next child of this node's parent, or null if none.
 java.lang.String getNodeValue()
           
 OMFactory getOMFactory()
          Returns the OMFactory that created this node
 org.w3c.dom.Document getOwnerDocument()
          Finds the document that this Node belongs to (the document in whose context the Node was created).
 OMContainer getParent()
          Returns the parent containing node.
 org.w3c.dom.Node getParentNode()
           
 java.lang.String getPrefix()
           
 OMNode getPreviousOMSibling()
          Default behavior returns null, overriden in ChildNode.
 org.w3c.dom.Node getPreviousSibling()
          Returns the previous child of this node's parent, or null if none.
 java.lang.String getTextContent()
           
 java.lang.Object getUserData(java.lang.String key)
           
 boolean hasAttributes()
           
 boolean hasChildNodes()
           
 org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
           
 void insertSiblingAfter(OMNode sibling)
          Inserts a new sibling after the current node.
 void insertSiblingBefore(OMNode sibling)
          Inserts a sibling just before the current node.
 void internalSerializeWithCache(javax.xml.stream.XMLStreamWriter writer)
          There no concept of caching in this OM-DOM implementation.
 boolean isComplete()
          Indicates whether parser has parsed this information item completely or not.
 boolean isDefaultNamespace(java.lang.String arg0)
           
 boolean isEqualNode(org.w3c.dom.Node arg0)
           
 boolean isSameNode(org.w3c.dom.Node arg0)
           
 boolean isSupported(java.lang.String feature, java.lang.String version)
           
 org.w3c.dom.Node item(int index)
          NodeList method: Returns the Nth immediate child of this node, or null if the index is out of bounds.
 java.lang.String lookupNamespaceURI(java.lang.String arg0)
           
 java.lang.String lookupPrefix(java.lang.String arg0)
           
 void normalize()
           
 org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
           
 org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
           
 void serialize(java.io.OutputStream output)
          Serializes the node with caching.
 void serialize(java.io.OutputStream output, OMOutputFormat format)
          Serializes the node with caching.
 void serialize(java.io.Writer writer)
          Serializes the node with caching.
 void serialize(java.io.Writer writer2, OMOutputFormat format)
          Serializes the node with caching.
 void serialize(javax.xml.stream.XMLStreamWriter xmlWriter)
          Serializes the node with caching.
 void serializeAndConsume(java.io.OutputStream output)
          Serializes the node without caching.
 void serializeAndConsume(java.io.OutputStream output, OMOutputFormat format)
          Serializes the node without caching.
 void serializeAndConsume(java.io.Writer writer)
          Serializes the node without caching.
 void serializeAndConsume(java.io.Writer writer2, OMOutputFormat format)
          Serializes the node without caching.
 void serializeAndConsume(javax.xml.stream.XMLStreamWriter xmlWriter)
          Serializes the node without caching.
 void setComplete(boolean state)
           
 void setNextOMSibling(OMNode previousSibling)
           
 void setNodeValue(java.lang.String arg0)
           
protected  void setOwnerDocument(DocumentImpl document)
          Sets the owner document.
 void setPrefix(java.lang.String prefix)
           
 void setPreviousOMSibling(OMNode previousSibling)
           
 void setTextContent(java.lang.String arg0)
           
 java.lang.Object setUserData(java.lang.String key, java.lang.Object value, org.w3c.dom.UserDataHandler userDataHandler)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Node
getNodeName, getNodeType
 
Methods inherited from interface org.apache.axiom.om.impl.OMNodeEx
internalSerialize, internalSerializeAndConsume, setParent, setType
 
Methods inherited from interface org.apache.axiom.om.OMNode
discard, getType
 

Field Detail

builder

protected OMXMLParserWrapper builder
Field builder


done

protected boolean done
Field done


nodeType

protected int nodeType
Field nodeType


ownerNode

protected DocumentImpl ownerNode

factory

protected OMFactory factory
Factory that created this node


flags

protected short flags

OWNED

protected static final short OWNED
See Also:
Constant Field Values

FIRSTCHILD

protected static final short FIRSTCHILD
See Also:
Constant Field Values

READONLY

protected static final short READONLY
See Also:
Constant Field Values

SPECIFIED

protected static final short SPECIFIED
See Also:
Constant Field Values

NORMALIZED

protected static final short NORMALIZED
See Also:
Constant Field Values
Constructor Detail

NodeImpl

protected NodeImpl(DocumentImpl ownerDocument,
                   OMFactory factory)

NodeImpl

protected NodeImpl(OMFactory factory)
Method Detail

normalize

public void normalize()
Specified by:
normalize in interface org.w3c.dom.Node

hasAttributes

public boolean hasAttributes()
Specified by:
hasAttributes in interface org.w3c.dom.Node

hasChildNodes

public boolean hasChildNodes()
Specified by:
hasChildNodes in interface org.w3c.dom.Node

getLocalName

public java.lang.String getLocalName()
Specified by:
getLocalName in interface org.w3c.dom.Node

getNamespaceURI

public java.lang.String getNamespaceURI()
Specified by:
getNamespaceURI in interface org.w3c.dom.Node

getNodeValue

public java.lang.String getNodeValue()
                              throws org.w3c.dom.DOMException
Specified by:
getNodeValue in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getPrefix

public java.lang.String getPrefix()
Specified by:
getPrefix in interface org.w3c.dom.Node

setNodeValue

public void setNodeValue(java.lang.String arg0)
                  throws org.w3c.dom.DOMException
Specified by:
setNodeValue in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

setPrefix

public void setPrefix(java.lang.String prefix)
               throws org.w3c.dom.DOMException
Specified by:
setPrefix in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getOwnerDocument

public org.w3c.dom.Document getOwnerDocument()
Finds the document that this Node belongs to (the document in whose context the Node was created). The Node may or may not

Specified by:
getOwnerDocument in interface org.w3c.dom.Node

getAttributes

public org.w3c.dom.NamedNodeMap getAttributes()
Returns the collection of attributes associated with this node, or null if none. At this writing, Element is the only type of node which will ever have attributes.

Specified by:
getAttributes in interface org.w3c.dom.Node
See Also:
ElementImpl

getFirstChild

public org.w3c.dom.Node getFirstChild()
Gets the first child of this Node, or null if none.

By default we do not have any children, ParentNode overrides this.

Specified by:
getFirstChild in interface org.w3c.dom.Node
See Also:
ParentNode

getLastChild

public org.w3c.dom.Node getLastChild()
Gets the last child of this Node, or null if none.

By default we do not have any children, ParentNode overrides this.

Specified by:
getLastChild in interface org.w3c.dom.Node
See Also:
ParentNode

getNextSibling

public org.w3c.dom.Node getNextSibling()
Returns the next child of this node's parent, or null if none.

Specified by:
getNextSibling in interface org.w3c.dom.Node

getParentNode

public org.w3c.dom.Node getParentNode()
Specified by:
getParentNode in interface org.w3c.dom.Node

getPreviousSibling

public org.w3c.dom.Node getPreviousSibling()
Returns the previous child of this node's parent, or null if none.

Specified by:
getPreviousSibling in interface org.w3c.dom.Node

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Specified by:
cloneNode in interface org.w3c.dom.Node

getChildNodes

public org.w3c.dom.NodeList getChildNodes()
Specified by:
getChildNodes in interface org.w3c.dom.Node

isSupported

public boolean isSupported(java.lang.String feature,
                           java.lang.String version)
Specified by:
isSupported in interface org.w3c.dom.Node

appendChild

public org.w3c.dom.Node appendChild(org.w3c.dom.Node newChild)
                             throws org.w3c.dom.DOMException
Specified by:
appendChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

removeChild

public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
                             throws org.w3c.dom.DOMException
Specified by:
removeChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

insertBefore

public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node refChild)
                              throws org.w3c.dom.DOMException
Specified by:
insertBefore in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

replaceChild

public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node oldChild)
                              throws org.w3c.dom.DOMException
Specified by:
replaceChild in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getLength

public int getLength()
NodeList method: Returns the number of immediate children of this node.

By default we do not have any children, ParentNode overrides this.

Specified by:
getLength in interface org.w3c.dom.NodeList
Returns:
Returns int.
See Also:
ParentNode

item

public org.w3c.dom.Node item(int index)
NodeList method: Returns the Nth immediate child of this node, or null if the index is out of bounds.

By default we do not have any children, ParentNode overrides this.

Specified by:
item in interface org.w3c.dom.NodeList
Parameters:
index -
Returns:
Returns org.w3c.dom.Node
See Also:
ParentNode

getParent

public OMContainer getParent()
                      throws OMException
Description copied from interface: OMNode
Returns the parent containing node.

Returns the parent container, which may be either an OMDocument or OMElement.

Specified by:
getParent in interface OMNode
Returns:
The OMContainer of the node.
Throws:
OMException

isComplete

public boolean isComplete()
Description copied from interface: OMNode
Indicates whether parser has parsed this information item completely or not. If some info are not available in the item, one has to check this attribute to make sure that, this item has been parsed completely or not.

Specified by:
isComplete in interface OMNode
Returns:
Returns boolean.

setComplete

public void setComplete(boolean state)
Specified by:
setComplete in interface OMNodeEx

internalSerializeWithCache

public void internalSerializeWithCache(javax.xml.stream.XMLStreamWriter writer)
                                throws javax.xml.stream.XMLStreamException
There no concept of caching in this OM-DOM implementation.

Throws:
javax.xml.stream.XMLStreamException

insertSiblingAfter

public void insertSiblingAfter(OMNode sibling)
                        throws OMException
Description copied from interface: OMNode
Inserts a new sibling after the current node.

Specified by:
insertSiblingAfter in interface OMNode
Parameters:
sibling - The node that will be added after the current node.
Throws:
OMException

insertSiblingBefore

public void insertSiblingBefore(OMNode sibling)
                         throws OMException
Description copied from interface: OMNode
Inserts a sibling just before the current node.

Specified by:
insertSiblingBefore in interface OMNode
Parameters:
sibling - The node that will be added before the current node.
Throws:
OMException

getPreviousOMSibling

public OMNode getPreviousOMSibling()
Default behavior returns null, overriden in ChildNode.

Specified by:
getPreviousOMSibling in interface OMNode
Returns:
Returns node.

getNextOMSibling

public OMNode getNextOMSibling()
Default behavior returns null, overriden in ChildNode.

Specified by:
getNextOMSibling in interface OMNode
Returns:
Returns the next sibling in document order.

setPreviousOMSibling

public void setPreviousOMSibling(OMNode previousSibling)
Specified by:
setPreviousOMSibling in interface OMNodeEx

setNextOMSibling

public void setNextOMSibling(OMNode previousSibling)
Specified by:
setNextOMSibling in interface OMNodeEx

build

public void build()
Builds next element.

Specified by:
build in interface OMNode

setOwnerDocument

protected void setOwnerDocument(DocumentImpl document)
Sets the owner document.

Parameters:
document -

serialize

public void serialize(javax.xml.stream.XMLStreamWriter xmlWriter)
               throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node with caching.

Specified by:
serialize in interface OMNode
Parameters:
xmlWriter -
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(javax.xml.stream.XMLStreamWriter xmlWriter)
                         throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node without caching.

Specified by:
serializeAndConsume in interface OMNode
Parameters:
xmlWriter -
Throws:
javax.xml.stream.XMLStreamException

detach

public OMNode detach()
Description copied from interface: OMNode
Removes a node (and all of its children) from its containing parent.

Removes a node from its parent. Partially complete nodes will be completed before they are detached from the model. A node cannot be detached until its next sibling has been identified, so that the next sibling and parent can be updated appropriately. Please note that this will not handle the namespaces. For example, if there you have used a namespace within the detaching node and which is defined outside the detaching node, user has to handle it manually.

Specified by:
detach in interface OMNode

getBaseURI

public java.lang.String getBaseURI()

compareDocumentPosition

public short compareDocumentPosition(org.w3c.dom.Node arg0)
                              throws org.w3c.dom.DOMException
Throws:
org.w3c.dom.DOMException

getTextContent

public java.lang.String getTextContent()
                                throws org.w3c.dom.DOMException
Throws:
org.w3c.dom.DOMException

setTextContent

public void setTextContent(java.lang.String arg0)
                    throws org.w3c.dom.DOMException
Throws:
org.w3c.dom.DOMException

isSameNode

public boolean isSameNode(org.w3c.dom.Node arg0)

lookupPrefix

public java.lang.String lookupPrefix(java.lang.String arg0)

isDefaultNamespace

public boolean isDefaultNamespace(java.lang.String arg0)

lookupNamespaceURI

public java.lang.String lookupNamespaceURI(java.lang.String arg0)

isEqualNode

public boolean isEqualNode(org.w3c.dom.Node arg0)

getFeature

public java.lang.Object getFeature(java.lang.String arg0,
                                   java.lang.String arg1)

setUserData

public java.lang.Object setUserData(java.lang.String key,
                                    java.lang.Object value,
                                    org.w3c.dom.UserDataHandler userDataHandler)

getUserData

public java.lang.Object getUserData(java.lang.String key)

serialize

public void serialize(java.io.OutputStream output)
               throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node with caching.

Specified by:
serialize in interface OMNode
Parameters:
output -
Throws:
javax.xml.stream.XMLStreamException

serialize

public void serialize(java.io.Writer writer)
               throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node with caching.

Specified by:
serialize in interface OMNode
Parameters:
writer -
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(java.io.OutputStream output)
                         throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node without caching.

Specified by:
serializeAndConsume in interface OMNode
Parameters:
output -
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(java.io.Writer writer)
                         throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node without caching.

Specified by:
serializeAndConsume in interface OMNode
Parameters:
writer -
Throws:
javax.xml.stream.XMLStreamException

serialize

public void serialize(java.io.OutputStream output,
                      OMOutputFormat format)
               throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node with caching.

Specified by:
serialize in interface OMNode
Parameters:
output -
format -
Throws:
javax.xml.stream.XMLStreamException

serialize

public void serialize(java.io.Writer writer2,
                      OMOutputFormat format)
               throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node with caching.

Specified by:
serialize in interface OMNode
Parameters:
writer2 -
format -
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(java.io.OutputStream output,
                                OMOutputFormat format)
                         throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node without caching.

Specified by:
serializeAndConsume in interface OMNode
Parameters:
output -
format -
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(java.io.Writer writer2,
                                OMOutputFormat format)
                         throws javax.xml.stream.XMLStreamException
Description copied from interface: OMNode
Serializes the node without caching.

Specified by:
serializeAndConsume in interface OMNode
Parameters:
writer2 -
format -
Throws:
javax.xml.stream.XMLStreamException

getOMFactory

public OMFactory getOMFactory()
Returns the OMFactory that created this node

Specified by:
getOMFactory in interface OMNode
Returns: