org.apache.xerces.dom

## Class ChildNode

- java.lang.Object
- - org.apache.xerces.dom.NodeImpl
  - - 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

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `` | `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`
      Parameters:
        `deep` - If `true`, recursively clone the subtree under the specified node; if `false`, clone only the node itself (and its attributes, if it is an `Element`).
      Returns:
        The duplicate node.
      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-2022 The Apache Software Foundation. All Rights Reserved.