FileDocCategorySizeDatePackage
ChildNode.javaAPI DocJava SE 5 API6561Fri Aug 26 14:55:42 BST 2005com.sun.org.apache.xerces.internal.dom

ChildNode

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,v 1.8 2004/02/10 17:09:45 elena Exp $

Fields Summary
static final long
serialVersionUID
Serialization version.
transient StringBuffer
fBufferStr
protected ChildNode
previousSibling
Previous sibling.
protected ChildNode
nextSibling
Next sibling.
Constructors Summary
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.


    //
    // Constructors
    //

                                    
       
        super(ownerDocument);
    
public ChildNode()
Constructor for serialization.

Methods Summary
public org.w3c.dom.NodecloneNode(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.

see
ParentNode

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.


    	ChildNode newnode = (ChildNode) super.cloneNode(deep);
    	
        // Need to break the association w/ original kids
    	newnode.previousSibling = null;
        newnode.nextSibling     = null;
        newnode.isFirstChild(false);

    	return newnode;

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

        return nextSibling;
    
public org.w3c.dom.NodegetParentNode()
Returns the parent node of this node

        // if we have an owner, ownerNode is our parent, otherwise it's
        // our ownerDocument and we don't have a parent
        return isOwned() ? ownerNode : null;
    
public org.w3c.dom.NodegetPreviousSibling()
The previous child of this node's parent, or null if none

        // if we are the firstChild, previousSibling actually refers to our
        // parent's lastChild, but we hide that
        return isFirstChild() ? null : previousSibling;
    
final com.sun.org.apache.xerces.internal.dom.NodeImplparentNode()

        // if we have an owner, ownerNode is our parent, otherwise it's
        // our ownerDocument and we don't have a parent
        return isOwned() ? ownerNode : null;
    
final com.sun.org.apache.xerces.internal.dom.ChildNodepreviousSibling()

        // if we are the firstChild, previousSibling actually refers to our
        // parent's lastChild, but we hide that
        return isFirstChild() ? null : previousSibling;