org.apache.batik.dom
Class NodeWrapper

java.lang.Object
  |
  +--org.apache.batik.dom.NodeWrapper
All Implemented Interfaces:
EventTarget, Node
Direct Known Subclasses:
AttrWrapper, CharacterDataWrapper, DocumentFragmentWrapper, DocumentWrapper, ElementWrapper, EntityReferenceWrapper, ProcessingInstructionWrapper

public class NodeWrapper
extends java.lang.Object
implements Node, EventTarget

This class implements a wrapper for a Document. All the methods of the underlying document are called in a single thread.


Field Summary
protected  HashTable bubblingListeners
          The bubbling listeners table.
protected  HashTable capturingListeners
          The capturing listeners table.
protected  DocumentWrapper documentWrapper
          The owner document wrapper.
protected  Node node
          The wrapped node.
 
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
NodeWrapper(DocumentWrapper dw, Node n)
          Creates a new NodeWrapper.
 
Method Summary
 void addEventListener(java.lang.String type, EventListener listener, boolean useCapture)
          DOM: Implements EventTarget.addEventListener(String,EventListener,boolean).
 Node appendChild(Node newChild)
          DOM: Implements Node.appendChild(Node).
 Node cloneNode(boolean deep)
          DOM: Implements Node.cloneNode(boolean).
protected  Attr createAttrWrapper(Attr n)
          Creates a wrapper for the given Attr.
protected  Element createElementWrapper(Element n)
          Creates a wrapper for the given Element.
protected  NamedNodeMap createNamedNodeMapWrapper(NamedNodeMap nm)
          Creates a wrapper for the given node map.
protected  NodeList createNodeListWrapper(NodeList nl)
          Creates a wrapper for the given node list.
protected  Node createNodeWrapper(Node n)
          Creates a wrapper for the given node.
protected  Text createTextWrapper(Text t)
          Creates a wrapper for the given Text.
 boolean dispatchEvent(Event evt)
          DOM: Implements EventTarget.dispatchEvent(Event).
protected  void finalize()
          Called when the object is collectable.
 NamedNodeMap getAttributes()
          DOM: Implements Node.getAttributes().
 NodeList getChildNodes()
          DOM: Implements Node.getChildNodes().
 Node getFirstChild()
          DOM: Implements Node.getFirstChild().
 Node getLastChild()
          DOM: Implements Node.getLastChild().
 java.lang.String getLocalName()
          DOM: Implements Node.getLocalName().
 java.lang.String getNamespaceURI()
          DOM: Implements Node.getNamespaceURI().
 Node getNextSibling()
          DOM: Implements Node.getNextSibling().
 Node getNode()
          Returns the wrapped node.
 java.lang.String getNodeName()
          DOM: Implements Node.getNodeName().
 short getNodeType()
          DOM: Implements Node.getNodeType().
 java.lang.String getNodeValue()
          DOM: Implements Node.getNodeValue().
 Document getOwnerDocument()
          DOM: Implements Node.getOwnerDocument().
 Node getParentNode()
          DOM: Implements Node.getParentNode().
 java.lang.String getPrefix()
          DOM: Implements Node.getPrefix().
 Node getPreviousSibling()
          DOM: Implements Node.getPreviousSibling().
 boolean hasAttributes()
          DOM: Implements Node.hasAttributes().
 boolean hasChildNodes()
          DOM: Implements Node.hasChildNodes().
 Node insertBefore(Node newChild, Node refChild)
          DOM: Implements Node.insertBefore(Node, Node).
protected  void invokeAndWait(java.lang.Runnable r)
          Invokes the given Runnable from the associated RunnableQueue thread.
protected  void invokeLater(java.lang.Runnable r)
          Invokes the given Runnable from the associated RunnableQueue thread.
 boolean isSupported(java.lang.String feature, java.lang.String version)
          DOM: Implements Node.isSupported(String,String).
 void normalize()
          DOM: Implements Node.normalize().
 Node removeChild(Node oldChild)
          DOM: Implements Node.removeChild(Node).
 void removeEventListener(java.lang.String type, EventListener listener, boolean useCapture)
          DOM: Implements EventTarget.removeEventListener(String,EventListener,boolean).
 Node replaceChild(Node newChild, Node oldChild)
          DOM: Implements Node.replaceChild(Node, Node).
 void setNodeValue(java.lang.String nodeValue)
          DOM: Implements Node.setNodeValue(String).
 void setPrefix(java.lang.String prefix)
          DOM: Implements Node.setPrefix(String).
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

documentWrapper

protected DocumentWrapper documentWrapper
The owner document wrapper.

node

protected Node node
The wrapped node.

capturingListeners

protected HashTable capturingListeners
The capturing listeners table.

bubblingListeners

protected HashTable bubblingListeners
The bubbling listeners table.
Constructor Detail

NodeWrapper

public NodeWrapper(DocumentWrapper dw,
                   Node n)
Creates a new NodeWrapper.
Method Detail

getNode

public Node getNode()
Returns the wrapped node.

finalize

protected void finalize()
                 throws java.lang.Throwable
Called when the object is collectable.
Overrides:
finalize in class java.lang.Object

getNodeName

public java.lang.String getNodeName()
DOM: Implements Node.getNodeName().
Specified by:
getNodeName in interface Node

getNodeType

public short getNodeType()
DOM: Implements Node.getNodeType().
Specified by:
getNodeType in interface Node

getNodeValue

public java.lang.String getNodeValue()
                              throws DOMException
DOM: Implements Node.getNodeValue().
Specified by:
getNodeValue in interface Node
Following copied from interface: org.w3c.dom.Node
Throws:
DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.
DOMException - DOMSTRING_SIZE_ERR: Raised when it would return more characters than fit in a DOMString variable on the implementation platform.

setNodeValue

public void setNodeValue(java.lang.String nodeValue)
                  throws DOMException
DOM: Implements Node.setNodeValue(String).
Specified by:
setNodeValue in interface Node

getParentNode

public Node getParentNode()
DOM: Implements Node.getParentNode().
Specified by:
getParentNode in interface Node

getChildNodes

public NodeList getChildNodes()
DOM: Implements Node.getChildNodes().
Specified by:
getChildNodes in interface Node

getFirstChild

public Node getFirstChild()
DOM: Implements Node.getFirstChild().
Specified by:
getFirstChild in interface Node

getLastChild

public Node getLastChild()
DOM: Implements Node.getLastChild().
Specified by:
getLastChild in interface Node

getPreviousSibling

public Node getPreviousSibling()
DOM: Implements Node.getPreviousSibling().
Specified by:
getPreviousSibling in interface Node

getNextSibling

public Node getNextSibling()
DOM: Implements Node.getNextSibling().
Specified by:
getNextSibling in interface Node

hasAttributes

public boolean hasAttributes()
DOM: Implements Node.hasAttributes().
Specified by:
hasAttributes in interface Node
Following copied from interface: org.w3c.dom.Node
Returns:
true if this node has any attributes, false otherwise.

getAttributes

public NamedNodeMap getAttributes()
DOM: Implements Node.getAttributes().
Specified by:
getAttributes in interface Node

getOwnerDocument

public Document getOwnerDocument()
DOM: Implements Node.getOwnerDocument().
Specified by:
getOwnerDocument in interface Node

getNamespaceURI

public java.lang.String getNamespaceURI()
DOM: Implements Node.getNamespaceURI().
Specified by:
getNamespaceURI in interface Node

insertBefore

public Node insertBefore(Node newChild,
                         Node refChild)
                  throws DOMException
DOM: Implements Node.insertBefore(Node, Node).
Specified by:
insertBefore in interface Node
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).
Specified by:
replaceChild in interface Node
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).
Specified by:
removeChild in interface Node
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).
Specified by:
appendChild in interface Node
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().
Specified by:
hasChildNodes in interface Node
Following copied from interface: org.w3c.dom.Node
Returns:
true if this node has any children, false otherwise.

cloneNode

public Node cloneNode(boolean deep)
DOM: Implements Node.cloneNode(boolean).
Specified by:
cloneNode in interface Node
Following copied from interface: org.w3c.dom.Node
Parameters:
deepIf - 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.

normalize

public void normalize()
DOM: Implements Node.normalize().
Specified by:
normalize in interface Node

isSupported

public boolean isSupported(java.lang.String feature,
                           java.lang.String version)
DOM: Implements Node.isSupported(String,String).
Specified by:
isSupported in interface Node
Following copied from interface: org.w3c.dom.Node
Parameters:
featureThe - name of the feature to test. This is the same name which can be passed to the method hasFeature on DOMImplementation.
versionThis - is the version number of the feature to test. In Level 2, version 1, this is the string "2.0". If the version is not specified, supporting any version of the feature will cause the method to return true.
Returns:
Returns true if the specified feature is supported on this node, false otherwise.

getPrefix

public java.lang.String getPrefix()
DOM: Implements Node.getPrefix().
Specified by:
getPrefix in interface Node
Following copied from interface: org.w3c.dom.Node
Throws:
DOMException - INVALID_CHARACTER_ERR: Raised if the specified prefix contains an illegal character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NAMESPACE_ERR: Raised if the specified prefix is malformed, if the namespaceURI of this node is null, if the specified prefix is "xml" and the namespaceURI of this node is different from " http://www.w3.org/XML/1998/namespace", if this node is an attribute and the specified prefix is "xmlns" and the namespaceURI of this node is different from " http://www.w3.org/2000/xmlns/", or if this node is an attribute and the qualifiedName of this node is "xmlns" .

setPrefix

public void setPrefix(java.lang.String prefix)
               throws DOMException
DOM: Implements Node.setPrefix(String).
Specified by:
setPrefix in interface Node

getLocalName

public java.lang.String getLocalName()
DOM: Implements Node.getLocalName().
Specified by:
getLocalName in interface Node

addEventListener

public void addEventListener(java.lang.String type,
                             EventListener listener,
                             boolean useCapture)
DOM: Implements EventTarget.addEventListener(String,EventListener,boolean).
Specified by:
addEventListener in interface EventTarget
Following copied from interface: org.w3c.dom.events.EventTarget
Parameters:
typeThe - event type for which the user is registering
listenerThe - listener parameter takes an interface implemented by the user which contains the methods to be called when the event occurs.
useCaptureIf - true, useCapture indicates that the user wishes to initiate capture. After initiating capture, all events of the specified type will be dispatched to the registered EventListener before being dispatched to any EventTargets beneath them in the tree. Events which are bubbling upward through the tree will not trigger an EventListener designated to use capture.

removeEventListener

public void removeEventListener(java.lang.String type,
                                EventListener listener,
                                boolean useCapture)
DOM: Implements EventTarget.removeEventListener(String,EventListener,boolean).
Specified by:
removeEventListener in interface EventTarget
Following copied from interface: org.w3c.dom.events.EventTarget
Parameters:
typeSpecifies - the event type of the EventListener being removed.
listenerThe - EventListener parameter indicates the EventListener to be removed.
useCaptureSpecifies - whether the EventListener being removed was registered as a capturing listener or not. If a listener was registered twice, one with capture and one without, each must be removed separately. Removal of a capturing listener does not affect a non-capturing version of the same listener, and vice versa.

dispatchEvent

public boolean dispatchEvent(Event evt)
                      throws EventException
DOM: Implements EventTarget.dispatchEvent(Event).
Specified by:
dispatchEvent in interface EventTarget
Following copied from interface: org.w3c.dom.events.EventTarget
Parameters:
evtSpecifies - the event type, behavior, and contextual information to be used in processing the event.
Returns:
The return value of dispatchEvent indicates whether any of the listeners which handled the event called preventDefault. If preventDefault was called the value is false, else the value is true.
Throws:
EventException - UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type was not specified by initializing the event before dispatchEvent was called. Specification of the Event's type as null or an empty string will also trigger this exception.

invokeAndWait

protected void invokeAndWait(java.lang.Runnable r)
Invokes the given Runnable from the associated RunnableQueue thread.

invokeLater

protected void invokeLater(java.lang.Runnable r)
Invokes the given Runnable from the associated RunnableQueue thread.

createNodeWrapper

protected Node createNodeWrapper(Node n)
Creates a wrapper for the given node.

createAttrWrapper

protected Attr createAttrWrapper(Attr n)
Creates a wrapper for the given Attr.

createTextWrapper

protected Text createTextWrapper(Text t)
Creates a wrapper for the given Text.

createElementWrapper

protected Element createElementWrapper(Element n)
Creates a wrapper for the given Element.

createNodeListWrapper

protected NodeList createNodeListWrapper(NodeList nl)
Creates a wrapper for the given node list.

createNamedNodeMapWrapper

protected NamedNodeMap createNamedNodeMapWrapper(NamedNodeMap nm)
Creates a wrapper for the given node map.


Copyright © 2001 Apache Software Foundation. All Rights Reserved.