org.apache.xerces.dom
Class ChildNode

java.lang.Object
  extended by org.apache.xerces.dom.NodeImpl
      extended by org.apache.xerces.dom.ChildNode
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList
Direct Known Subclasses:
CharacterDataImpl, ParentNode

public abstract class ChildNode
extends NodeImpl

ChildNode inherits from NodeImpl and adds the capability of being a child by having references to its previous and next siblings.

Version:
$Id: ChildNode.java 447266 2006-09-18 05:57:49Z mrglavas $
See Also:
Serialized Form

INTERNAL:

Usage of this class is not supported. It may be altered or removed at any time.

Field Summary
protected  ChildNode nextSibling
          Next sibling.
protected  ChildNode previousSibling
          Previous sibling.
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, FIRSTCHILD, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE
 
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_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
  ChildNode()
          Constructor for serialization.
protected ChildNode(CoreDocumentImpl ownerDocument)
          No public constructor; only subclasses of Node should be instantiated, and those normally via a Document's factory methods
 
Method Summary
 org.w3c.dom.Node cloneNode(boolean deep)
          Returns a duplicate of a given node.
 org.w3c.dom.Node getNextSibling()
          The next child of this node's parent, or null if none
 org.w3c.dom.Node getParentNode()
          Returns the parent node of this node
 org.w3c.dom.Node getPreviousSibling()
          The previous child of this node's parent, or null if none
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, changed, changes, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getChildNodes, getContainer, getFeature, getFirstChild, getLastChild, getLength, getLocalName, getNamespaceURI, getNodeName, getNodeNumber, getNodeType, getNodeValue, getOwnerDocument, getPrefix, getReadOnly, getTextContent, getUserData, getUserData, getUserDataRecord, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, needsSyncChildren, normalize, removeChild, removeEventListener, replaceChild, setNodeValue, setOwnerDocument, setPrefix, setReadOnly, setTextContent, setUserData, setUserData, synchronizeData, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

previousSibling

protected ChildNode previousSibling
Previous sibling.


nextSibling

protected ChildNode nextSibling
Next sibling.

Constructor Detail

ChildNode

protected ChildNode(CoreDocumentImpl ownerDocument)
No public constructor; only subclasses of Node should be instantiated, and those normally via a Document's factory methods

Every Node knows what Document it belongs to.


ChildNode

public ChildNode()
Constructor for serialization.

Method Detail

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Returns a duplicate of a given node. You can consider this a generic "copy constructor" for nodes. The newly returned object should be completely independent of the source object's subtree, so changes in one after the clone has been made will not affect the other.

Note: since we never have any children deep is meaningless here, ParentNode overrides this behavior.

Specified by:
cloneNode in interface org.w3c.dom.Node
Overrides:
cloneNode in class NodeImpl
See Also:

Example: Cloning a Text node will copy both the node and the text it contains.

Example: Cloning something that has children -- Element or Attr, for example -- will _not_ clone those children unless a "deep clone" has been requested. A shallow clone of an Attr node will yield an empty Attr of the same name.

NOTE: Clones will always be read/write, even if the node being cloned is read-only, to permit applications using only the DOM API to obtain editable copies of locked portions of the tree.


getParentNode

public org.w3c.dom.Node getParentNode()
Returns the parent node of this node

Specified by:
getParentNode in interface org.w3c.dom.Node
Overrides:
getParentNode in class NodeImpl

getNextSibling

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

Specified by:
getNextSibling in interface org.w3c.dom.Node
Overrides:
getNextSibling in class NodeImpl

getPreviousSibling

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

Specified by:
getPreviousSibling in interface org.w3c.dom.Node
Overrides:
getPreviousSibling in class NodeImpl


Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.