org.apache.batik.dom
Class AbstractParentNode

java.lang.Object
  |
  +--org.apache.batik.dom.AbstractNode
        |
        +--org.apache.batik.dom.AbstractParentNode
All Implemented Interfaces:
EventTarget, ExtendedNode, Node, NodeEventTarget, java.io.Serializable
Direct Known Subclasses:
AbstractAttr, AbstractDocument, AbstractDocumentFragment, AbstractEntity, AbstractParentChildNode

public abstract class AbstractParentNode
extends AbstractNode

This class implements the Node interface with support for children.

See Also:
Serialized Form

Inner Class Summary
protected  class AbstractParentNode.ChildNodes
          To manage the children of this node.
protected  class AbstractParentNode.ElementsByTagName
          To manage a list of nodes.
protected  class AbstractParentNode.ElementsByTagNameNS
          To manage a list of nodes.
 
Field Summary
protected  AbstractParentNode.ChildNodes childNodes
          The children.
 
Fields inherited from class org.apache.batik.dom.AbstractNode
EMPTY_NODE_LIST, eventSupport, ownerDocument
 
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
 
Constructor Summary
AbstractParentNode()
           
 
Method Summary
 Node appendChild(Node newChild)
          DOM: Implements Node.appendChild(Node).
protected  void checkAndRemove(Node n, boolean replace)
          Checks the validity of a node to be inserted, and removes it from the document if needed.
protected  Node deepCopyInto(Node n)
          Deeply copy the fields of the current node into the given node.
protected  Node deepExport(Node n, AbstractDocument d)
          Deeply exports this node to the given document.
protected  void fireDOMNodeInsertedEvent(Node node)
          Fires a DOMNodeInserted event.
 void fireDOMNodeInsertedIntoDocumentEvent()
          Recursively fires a DOMNodeInsertedIntoDocument event.
protected  void fireDOMNodeRemovedEvent(Node node)
          Fires a DOMNodeRemoved event.
 void fireDOMNodeRemovedFromDocumentEvent()
          Recursively fires a DOMNodeRemovedFromDocument event.
protected  void fireDOMSubtreeModifiedEvent()
          Fires a DOMSubtreeModified event.
 NodeList getChildNodes()
          DOM: Implements Node.getChildNodes().
 NodeList getElementsByTagName(java.lang.String name)
          DOM: Implements Element.getElementsByTagName(String).
 NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
          DOM: Implements Element.getElementsByTagNameNS(String,String).
 Node getFirstChild()
          DOM: Implements Node.getFirstChild().
 Node getLastChild()
          DOM: Implements Node.getLastChild().
 boolean hasChildNodes()
          DOM: Implements Node.hasChildNodes().
 Node insertBefore(Node newChild, Node refChild)
          DOM: Implements Node.insertBefore(Node, Node).
protected  void nodeAdded(Node n)
          Called when a child node has been added.
protected  void nodeToBeRemoved(Node n)
          Called when a child node is going to be removed.
 void normalize()
          DOM: Implements Node.normalize().
 Node removeChild(Node oldChild)
          DOM: Implements Node.removeChild(Node).
 Node replaceChild(Node newChild, Node oldChild)
          DOM: Implements Node.replaceChild(Node, Node).
 
Methods inherited from class org.apache.batik.dom.AbstractNode
addEventListener, checkChildType, cloneNode, copyInto, createDOMException, dispatchEvent, export, fireDOMCharacterDataModifiedEvent, getAttributes, getCurrentDocument, getEventSupport, getLocalName, getNamespaceURI, getNextSibling, getNodeValue, getOwnerDocument, getParentNode, getParentNodeEventTarget, getPrefix, getPreviousSibling, hasAttributes, isSupported, newNode, removeEventListener, setNextSibling, setNodeName, setNodeValue, setOwnerDocument, setParentNode, setPrefix, setPreviousSibling, setSpecified
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.batik.dom.ExtendedNode
isReadonly, setReadonly
 
Methods inherited from interface org.w3c.dom.Node
getNodeName, getNodeType
 

Field Detail

childNodes

protected AbstractParentNode.ChildNodes childNodes
The children.
Constructor Detail

AbstractParentNode

public AbstractParentNode()
Method Detail

getChildNodes

public NodeList getChildNodes()
DOM: Implements Node.getChildNodes().
Overrides:
getChildNodes in class AbstractNode
Returns:
childNodes

getFirstChild

public Node getFirstChild()
DOM: Implements Node.getFirstChild().
Overrides:
getFirstChild in class AbstractNode
Returns:
childNodes.firstChild

getLastChild

public Node getLastChild()
DOM: Implements Node.getLastChild().
Overrides:
getLastChild in class AbstractNode
Returns:
childNodes.lastChild

insertBefore

public Node insertBefore(Node newChild,
                         Node refChild)
                  throws DOMException
DOM: Implements Node.insertBefore(Node, Node).
Overrides:
insertBefore in class AbstractNode
Following copied from interface: org.w3c.dom.Node
Parameters:
newChildThe - node to insert.
refChildThe - reference node, i.e., the node before which the new node must be inserted.
Returns:
The node being inserted.
Throws:
DOMException - HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild node, or if the node to insert is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if the parent of the node being inserted is readonly.
NOT_FOUND_ERR: Raised if refChild is not a child of this node.

replaceChild

public Node replaceChild(Node newChild,
                         Node oldChild)
                  throws DOMException
DOM: Implements Node.replaceChild(Node, Node).
Overrides:
replaceChild in class AbstractNode
Following copied from interface: org.w3c.dom.Node
Parameters:
newChildThe - new node to put in the child list.
oldChildThe - node being replaced in the list.
Returns:
The node replaced.
Throws:
DOMException - HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild node, or if the node to put in is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of the new node is readonly.
NOT_FOUND_ERR: Raised if oldChild is not a child of this node.

removeChild

public Node removeChild(Node oldChild)
                 throws DOMException
DOM: Implements Node.removeChild(Node).
Overrides:
removeChild in class AbstractNode
Following copied from interface: org.w3c.dom.Node
Parameters:
oldChildThe - node being removed.
Returns:
The node removed.
Throws:
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if oldChild is not a child of this node.

appendChild

public Node appendChild(Node newChild)
                 throws DOMException
DOM: Implements Node.appendChild(Node).
Overrides:
appendChild in class AbstractNode
Following copied from interface: org.w3c.dom.Node
Parameters:
newChildThe - node to add.If it is a DocumentFragment object, the entire contents of the document fragment are moved into the child list of this node
Returns:
The node added.
Throws:
DOMException - HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not allow children of the type of the newChild node, or if the node to append is one of this node's ancestors.
WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this node.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

hasChildNodes

public boolean hasChildNodes()
DOM: Implements Node.hasChildNodes().
Overrides:
hasChildNodes in class AbstractNode
Returns:
true if this node has children, false otherwise.

normalize

public void normalize()
DOM: Implements Node.normalize().
Overrides:
normalize in class AbstractNode

getElementsByTagName

public NodeList getElementsByTagName(java.lang.String name)
DOM: Implements Element.getElementsByTagName(String).

getElementsByTagNameNS

public NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                       java.lang.String localName)
DOM: Implements Element.getElementsByTagNameNS(String,String).

fireDOMNodeInsertedIntoDocumentEvent

public void fireDOMNodeInsertedIntoDocumentEvent()
Recursively fires a DOMNodeInsertedIntoDocument event.
Overrides:
fireDOMNodeInsertedIntoDocumentEvent in class AbstractNode

fireDOMNodeRemovedFromDocumentEvent

public void fireDOMNodeRemovedFromDocumentEvent()
Recursively fires a DOMNodeRemovedFromDocument event.
Overrides:
fireDOMNodeRemovedFromDocumentEvent in class AbstractNode

nodeAdded

protected void nodeAdded(Node n)
Called when a child node has been added.

nodeToBeRemoved

protected void nodeToBeRemoved(Node n)
Called when a child node is going to be removed.

deepExport

protected Node deepExport(Node n,
                          AbstractDocument d)
Deeply exports this node to the given document.
Overrides:
deepExport in class AbstractNode

deepCopyInto

protected Node deepCopyInto(Node n)
Deeply copy the fields of the current node into the given node.
Overrides:
deepCopyInto in class AbstractNode
Parameters:
n - a node of the type of this.

fireDOMSubtreeModifiedEvent

protected void fireDOMSubtreeModifiedEvent()
Fires a DOMSubtreeModified event.

fireDOMNodeInsertedEvent

protected void fireDOMNodeInsertedEvent(Node node)
Fires a DOMNodeInserted event.

fireDOMNodeRemovedEvent

protected void fireDOMNodeRemovedEvent(Node node)
Fires a DOMNodeRemoved event.

checkAndRemove

protected void checkAndRemove(Node n,
                              boolean replace)
Checks the validity of a node to be inserted, and removes it from the document if needed.


Copyright © 2002 Apache Software Foundation. All Rights Reserved.