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

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

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


Field Summary
 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 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_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, 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
DTD_NODE, PI_NODE, SPACE_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.
 void buildWithAttachments()
          Parses this node and builds the object structure in memory.
 org.w3c.dom.Node cloneNode(boolean deep)
           
 void close(boolean build)
          If a builder and parser is associated with the node, it is closed.
 short compareDocumentPosition(org.w3c.dom.Node other)
           
 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.
 String getBaseURI()
           
 org.w3c.dom.NodeList getChildNodes()
           
 Object getFeature(String arg0, 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.
 String getLocalName()
           
 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.
 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()
           
 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.
 String getTextContent()
           
 Object getUserData(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(String arg0)
           
 boolean isEqualNode(org.w3c.dom.Node node)
          Tests whether two nodes are equal.
 boolean isSameNode(org.w3c.dom.Node node)
           
 boolean isSupported(String feature, 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.
 String lookupNamespaceURI(String arg0)
           
 String lookupPrefix(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(OutputStream output)
          Serializes the node with caching.
 void serialize(OutputStream output, OMOutputFormat format)
          Serializes the node with caching.
 void serialize(Writer writer)
          Serializes the node with caching.
 void serialize(Writer writer2, OMOutputFormat format)
          Serializes the node with caching.
 void serialize(javax.xml.stream.XMLStreamWriter xmlWriter)
          Serializes the node with caching.
 void serializeAndConsume(OutputStream output)
          Serializes the node without caching.
 void serializeAndConsume(OutputStream output, OMOutputFormat format)
          Serializes the node without caching.
 void serializeAndConsume(Writer writer)
          Serializes the node without caching.
 void serializeAndConsume(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(String arg0)
           
protected  void setOwnerDocument(DocumentImpl document)
          Sets the owner document.
 void setPrefix(String prefix)
           
 void setPreviousOMSibling(OMNode previousSibling)
           
 void setTextContent(String textContent)
           
 Object setUserData(String key, 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

public OMXMLParserWrapper builder
Field builder


done

protected boolean done
Field done


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 String getLocalName()
Specified by:
getLocalName in interface org.w3c.dom.Node

getNamespaceURI

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

getNodeValue

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

getPrefix

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

setNodeValue

public void setNodeValue(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(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(String feature,
                           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

buildWithAttachments

public void buildWithAttachments()
Parses this node and builds the object structure in memory. AXIOM supports two levels of deffered building. First is deffered building of AXIOM using StAX. Second level is the deffered building of attachments. AXIOM reads in the attachements from the stream only when user asks by calling getDataHandler(). build() method builds the OM without the attachments. buildAll() builds the OM together with attachement data. This becomes handy when user wants to free the input stream.

Specified by:
buildWithAttachments in interface OMNode

close

public void close(boolean build)
Description copied from interface: OMNode
If a builder and parser is associated with the node, it is closed.

Specified by:
close in interface OMNode
Parameters:
build - if true, the object is built first before closing the builder/parser

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
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
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 String getBaseURI()
Specified by:
getBaseURI in interface org.w3c.dom.Node

compareDocumentPosition

public short compareDocumentPosition(org.w3c.dom.Node other)
                              throws org.w3c.dom.DOMException
Specified by:
compareDocumentPosition in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

getTextContent

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

setTextContent

public void setTextContent(String textContent)
                    throws org.w3c.dom.DOMException
Specified by:
setTextContent in interface org.w3c.dom.Node
Throws:
org.w3c.dom.DOMException

isSameNode

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

lookupPrefix

public String lookupPrefix(String arg0)
Specified by:
lookupPrefix in interface org.w3c.dom.Node

isDefaultNamespace

public boolean isDefaultNamespace(String arg0)
Specified by:
isDefaultNamespace in interface org.w3c.dom.Node

lookupNamespaceURI

public String lookupNamespaceURI(String arg0)
Specified by:
lookupNamespaceURI in interface org.w3c.dom.Node

isEqualNode

public boolean isEqualNode(org.w3c.dom.Node node)
Tests whether two nodes are equal.
This method tests for equality of nodes, not sameness (i.e., whether the two nodes are references to the same object) which can be tested with Node.isSameNode(). All nodes that are the same will also be equal, though the reverse may not be true.
Two nodes are equal if and only if the following conditions are satisfied:
For two DocumentType nodes to be equal, the following conditions must also be satisfied:
On the other hand, the following do not affect equality: the ownerDocument, baseURI, and parentNode attributes, the specified attribute for Attr nodes, the schemaTypeInfo attribute for Attr and Element nodes, the Text.isElementContentWhitespace attribute for Text nodes, as well as any user data or event listeners registered on the nodes.

Note: As a general rule, anything not mentioned in the description above is not significant in consideration of equality checking. Note that future versions of this specification may take into account more attributes and implementations conform to this specification are expected to be updated accordingly.

Specified by:
isEqualNode in interface org.w3c.dom.Node
Parameters:
arg - The node to compare equality with.
Returns:
Returns true if the nodes are equal, false otherwise.
Since:
DOM Level 3

getFeature

public Object getFeature(String arg0,
                         String arg1)
Specified by:
getFeature in interface org.w3c.dom.Node

setUserData

public Object setUserData(String key,
                          Object value,
                          org.w3c.dom.UserDataHandler userDataHandler)
Specified by:
setUserData in interface org.w3c.dom.Node

getUserData

public Object getUserData(String key)
Specified by:
getUserData in interface org.w3c.dom.Node

serialize

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

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

serialize

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

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

serializeAndConsume

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

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

serializeAndConsume

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

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

serialize

public void serialize(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
Throws:
javax.xml.stream.XMLStreamException

serialize

public void serialize(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
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(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
Throws:
javax.xml.stream.XMLStreamException

serializeAndConsume

public void serializeAndConsume(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
Throws:
javax.xml.stream.XMLStreamException

getOMFactory

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

Specified by:
getOMFactory in interface OMNode


Copyright © 2004-2011 The Apache Software Foundation. All Rights Reserved.