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

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

public abstract class ParentNode
extends ChildNode
implements OMContainerEx


Field Summary
protected  ChildNode firstChild
           
protected  ChildNode lastChild
           
 
Fields inherited from class org.apache.axiom.om.impl.dom.ChildNode
nextSibling, parentNode, previousSibling
 
Fields inherited from class org.apache.axiom.om.impl.dom.NodeImpl
builder, done, factory, FIRSTCHILD, flags, nodeType, NORMALIZED, OWNED, ownerNode, READONLY, 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 ParentNode(DocumentImpl ownerDocument, OMFactory factory)
           
protected ParentNode(OMFactory factory)
           
 
Method Summary
 void addChild(OMNode omNode)
          Adds the given node as the last child.
 void buildNext()
           
 org.w3c.dom.Node cloneNode(boolean deep)
           
 org.w3c.dom.NodeList getChildNodes()
           
 java.util.Iterator getChildren()
          Returns an iterator for the children of the container.
 java.util.Iterator getChildrenWithName(javax.xml.namespace.QName elementQName)
          Returns an iterator of child nodes having a given qname.
 org.w3c.dom.Node getFirstChild()
          Gets the first child of this Node, or null if none.
 OMElement getFirstChildWithName(javax.xml.namespace.QName elementQName)
          Returns the first OMElement child node.
 OMNode getFirstOMChild()
          Gets the first child.
 org.w3c.dom.Node getLastChild()
          Gets the last child of this Node, or null if none.
 boolean hasChildNodes()
           
 org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
          Inserts newChild before the refChild.
 org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
          Removes the given child from the DOM Tree.
 org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
          Replaces the oldChild with the newChild.
 void setFirstChild(OMNode omNode)
           
 
Methods inherited from class org.apache.axiom.om.impl.dom.ChildNode
detach, discard, getNextOMSibling, getNextSibling, getParent, getParentNode, getPreviousOMSibling, getPreviousSibling, insertSiblingAfter, insertSiblingBefore, setNextOMSibling, setParent, setPreviousOMSibling
 
Methods inherited from class org.apache.axiom.om.impl.dom.NodeImpl
appendChild, build, compareDocumentPosition, getAttributes, getBaseURI, getFeature, getLength, getLocalName, getNamespaceURI, getNodeValue, getOMFactory, getOwnerDocument, getPrefix, getTextContent, getUserData, hasAttributes, internalSerializeWithCache, isComplete, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, normalize, serialize, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, setComplete, setNodeValue, setOwnerDocument, setPrefix, setTextContent, setUserData
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.axiom.om.impl.OMContainerEx
setComplete
 
Methods inherited from interface org.apache.axiom.om.OMContainer
isComplete
 
Methods inherited from interface org.w3c.dom.Node
getNodeName, getNodeType
 
Methods inherited from interface org.apache.axiom.om.impl.OMNodeEx
internalSerialize, internalSerializeAndConsume, setType
 
Methods inherited from interface org.apache.axiom.om.OMNode
getType
 

Field Detail

firstChild

protected ChildNode firstChild

lastChild

protected ChildNode lastChild
Constructor Detail

ParentNode

protected ParentNode(DocumentImpl ownerDocument,
                     OMFactory factory)
Parameters:
ownerDocument -

ParentNode

protected ParentNode(OMFactory factory)
Method Detail

addChild

public void addChild(OMNode omNode)
Description copied from interface: OMContainer
Adds the given node as the last child. One must preserve the order of children, in this operation. Tip : appending the new child is preferred.

Specified by:
addChild in interface OMContainer
Parameters:
omNode -

buildNext

public void buildNext()
Specified by:
buildNext in interface OMContainer

getChildren

public java.util.Iterator getChildren()
Description copied from interface: OMContainer
Returns an iterator for the children of the container.

Specified by:
getChildren in interface OMContainer
Returns:
Returns a Iterator of children, all of which implement OMNode.
See Also:
OMContainer.getFirstChildWithName(javax.xml.namespace.QName), OMContainer.getChildrenWithName(javax.xml.namespace.QName)

getChildrenWithName

public java.util.Iterator getChildrenWithName(javax.xml.namespace.QName elementQName)
                                       throws OMException
Returns an iterator of child nodes having a given qname.

Specified by:
getChildrenWithName in interface OMContainer
Parameters:
elementQName - The QName specifying namespace and local name to match.
Returns:
Returns an iterator of OMElement items that match the given QName appropriately.
Throws:
OMException
See Also:
(javax.xml.namespace.QName)

getFirstChildWithName

public OMElement getFirstChildWithName(javax.xml.namespace.QName elementQName)
                                throws OMException
Returns the first OMElement child node.

Specified by:
getFirstChildWithName in interface OMContainer
Parameters:
elementQName - The QName to use for matching.
Returns:
Returns the first element in document order that matches the elementQName criteria.
Throws:
OMException - Could indirectly trigger building of child nodes.
See Also:
(javax.xml.namespace.QName)

getFirstOMChild

public OMNode getFirstOMChild()
Description copied from interface: OMContainer
Gets the first child.

Specified by:
getFirstOMChild in interface OMContainer
Returns:
Returns the first child. May return null if the container has no children.

setFirstChild

public void setFirstChild(OMNode omNode)
Specified by:
setFirstChild in interface OMContainerEx

getChildNodes

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

getFirstChild

public org.w3c.dom.Node getFirstChild()
Description copied from class: NodeImpl
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
Overrides:
getFirstChild in class NodeImpl
See Also:
ParentNode

getLastChild

public org.w3c.dom.Node getLastChild()
Description copied from class: NodeImpl
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
Overrides:
getLastChild in class NodeImpl
See Also:
ParentNode

hasChildNodes

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

insertBefore

public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node refChild)
                              throws org.w3c.dom.DOMException
Inserts newChild before the refChild. If the refChild is null then the newChild is made the last child.

Specified by:
insertBefore in interface org.w3c.dom.Node
Overrides:
insertBefore in class NodeImpl
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
Replaces the oldChild with the newChild.

Specified by:
replaceChild in interface org.w3c.dom.Node
Overrides:
replaceChild in class NodeImpl
Throws:
org.w3c.dom.DOMException

removeChild

public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
                             throws org.w3c.dom.DOMException
Removes the given child from the DOM Tree.

Specified by:
removeChild in interface org.w3c.dom.Node
Overrides:
removeChild in class NodeImpl
Throws:
org.w3c.dom.DOMException

cloneNode

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