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

java.lang.Object
  extended by org.apache.axiom.om.impl.dom.NodeImpl
      extended by org.apache.axiom.om.impl.dom.ChildNode
          extended by org.apache.axiom.om.impl.dom.ParentNode
All Implemented Interfaces:
java.lang.Cloneable, OMContainerEx, OMNodeEx, OMContainer, OMNode, org.w3c.dom.Node, org.w3c.dom.NodeList
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, 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_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 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 getChildrenWithLocalName(java.lang.String localName)
          Returns an iterator for child nodes matching the local name.
 java.util.Iterator getChildrenWithName(javax.xml.namespace.QName elementQName)
          Returns an iterator of child nodes having a given qname.
 java.util.Iterator getChildrenWithNamespaceURI(java.lang.String uri)
          Returns an iterator for child nodes matching the namespace uri.
 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.
 java.lang.String getTextContent()
           
 boolean hasChildNodes()
           
protected  OMNode importNode(OMNode child)
          This method is intended only to be used by Axiom intenals when merging Objects from different Axiom implementations to the DOOM implementation.
 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)
          forcefully set the first element in this parent element
 void setLastChild(OMNode omNode)
          Forcefully set the last child
 void setTextContent(java.lang.String textContent)
           
 
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, buildWithAttachments, close, compareDocumentPosition, getAttributes, getBaseURI, getFeature, getLength, getLocalName, getNamespaceURI, getNodeValue, getOMFactory, getOwnerDocument, getPrefix, 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, 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

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
Throws:
OMException
See Also:
(javax.xml.namespace.QName)

getChildrenWithLocalName

public java.util.Iterator getChildrenWithLocalName(java.lang.String localName)
Description copied from interface: OMContainer
Returns an iterator for child nodes matching the local name.

Specified by:
getChildrenWithLocalName in interface OMContainer
Returns:
Returns an iterator of OMElement items that match the given localName

getChildrenWithNamespaceURI

public java.util.Iterator getChildrenWithNamespaceURI(java.lang.String uri)
Description copied from interface: OMContainer
Returns an iterator for child nodes matching the namespace uri.

Specified by:
getChildrenWithNamespaceURI in interface OMContainer
Returns:
Returns an iterator of OMElement items that match the given uri

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)
Description copied from interface: OMContainerEx
forcefully set the first element in this parent element

Specified by:
setFirstChild in interface OMContainerEx

setLastChild

public void setLastChild(OMNode omNode)
Forcefully set the last child

Specified by:
setLastChild in interface OMContainerEx
Parameters:
omNode -

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

importNode

protected OMNode importNode(OMNode child)
This method is intended only to be used by Axiom intenals when merging Objects from different Axiom implementations to the DOOM implementation.

Parameters:
child -

getTextContent

public java.lang.String getTextContent()
                                throws org.w3c.dom.DOMException
Specified by:
getTextContent in interface org.w3c.dom.Node
Overrides:
getTextContent in class NodeImpl
Throws:
org.w3c.dom.DOMException

setTextContent

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


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