com.gargoylesoftware.htmlunit.javascript.host
Class Node

java.lang.Object
  extended by net.sourceforge.htmlunit.corejs.javascript.ScriptableObject
      extended by com.gargoylesoftware.htmlunit.javascript.SimpleScriptable
          extended by com.gargoylesoftware.htmlunit.javascript.host.Node
All Implemented Interfaces:
Serializable, Cloneable, Map, net.sourceforge.htmlunit.corejs.javascript.ConstProperties, net.sourceforge.htmlunit.corejs.javascript.debug.DebuggableObject, net.sourceforge.htmlunit.corejs.javascript.Scriptable
Direct Known Subclasses:
Attr, CharacterDataImpl, DocumentFragment, DocumentType, EventNode, ProcessingInstruction

public class Node
extends SimpleScriptable

The JavaScript object "Node" which is the base class for all DOM objects. This will typically wrap an instance of DomNode.

Version:
$Revision: 5864 $
Author:
Mike Bowler, David K. Taylor, Barnaby Court, Christian Sell, George Murnock, Chris Erskine, Bruce Faulkner, Ahmed Ashour
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Field Summary
static short ATTRIBUTE_NODE
           
static short CDATA_SECTION_NODE
           
static short COMMENT_NODE
           
static short DOCUMENT_FRAGMENT_NODE
           
static short DOCUMENT_NODE
           
static short DOCUMENT_POSITION_CONTAINED_BY
           
static short DOCUMENT_POSITION_CONTAINS
           
static short DOCUMENT_POSITION_DISCONNECTED
           
static short DOCUMENT_POSITION_FOLLOWING
           
static short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
           
static short DOCUMENT_POSITION_PRECEDING
           
static short DOCUMENT_TYPE_NODE
           
static short ELEMENT_NODE
           
static short ENTITY_NODE
           
static short ENTITY_REFERENCE_NODE
           
static short NOTATION_NODE
           
static short PROCESSING_INSTRUCTION_NODE
           
static short TEXT_NODE
           
 
Fields inherited from class net.sourceforge.htmlunit.corejs.javascript.ScriptableObject
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
 
Fields inherited from interface net.sourceforge.htmlunit.corejs.javascript.Scriptable
NOT_FOUND
 
Constructor Summary
Node()
          Creates an instance.
 
Method Summary
 ScriptResult executeEvent(Event event)
          Executes the event on this object only (needed for instance for onload on (i)frame tags).
 ScriptResult fireEvent(Event event)
          Fires the event on the node with capturing and bubbling phase.
 net.sourceforge.htmlunit.corejs.javascript.Function getEventHandler(String eventName)
          Returns the specified event handler.
protected  Object getEventHandlerProp(String eventName)
          Gets the property defined as event handler (not necessary a Function if something else has been set).
protected  Node getJavaScriptNode(DomNode domNode)
          Gets the JavaScript node for a given DomNode.
 Node getParent()
          Returns this node's parent node.
 boolean hasEventHandlers(String eventName)
          Returns true if there are any event handlers for the specified event.
 void jsxFunction_addEventListener(String type, net.sourceforge.htmlunit.corejs.javascript.Function listener, boolean useCapture)
          Allows the registration of event listeners on the event target.
 Object jsxFunction_appendChild(Object childObject)
          Adds a DOM node to the node.
 boolean jsxFunction_attachEvent(String type, net.sourceforge.htmlunit.corejs.javascript.Function listener)
          Allows the registration of event listeners on the event target.
 Object jsxFunction_cloneNode(boolean deep)
          Clones this node.
 short jsxFunction_compareDocumentPosition(Node node)
          Compares the positions of this node and the provided node within the document.
 void jsxFunction_detachEvent(String type, net.sourceforge.htmlunit.corejs.javascript.Function listener)
          Allows the removal of event listeners on the event target.
 boolean jsxFunction_hasChildNodes()
          Returns whether this node has any children.
static Object jsxFunction_insertBefore(net.sourceforge.htmlunit.corejs.javascript.Context context, net.sourceforge.htmlunit.corejs.javascript.Scriptable thisObj, Object[] args, net.sourceforge.htmlunit.corejs.javascript.Function function)
          Add a DOM node as a child to this node before the referenced node.
protected  Object jsxFunction_insertBefore(Object[] args)
          Add a DOM node as a child to this node before the referenced node.
 boolean jsxFunction_isSameNode(Object other)
          This method provides a way to determine whether two Node references returned by the implementation reference the same object.
 void jsxFunction_normalize()
          Merges adjacent TextNode objects to produce a normalized document object model.
 Object jsxFunction_removeChild(Object childObject)
          Removes a DOM node from this node.
 void jsxFunction_removeEventListener(String type, net.sourceforge.htmlunit.corejs.javascript.Function listener, boolean useCapture)
          Allows the removal of event listeners on the event target.
 Object jsxFunction_replaceChild(Object newChildObject, Object oldChildObject)
          Replaces a child DOM node with another DOM node.
 HTMLCollection jsxGet_childNodes()
          Returns the child nodes of the current element.
 Node jsxGet_firstChild()
          Gets the JavaScript property "firstChild" for the node that contains the current node.
 Node jsxGet_lastChild()
          Gets the JavaScript property "lastChild" for the node that contains the current node.
 String jsxGet_localName()
          Returns the local name of this element.
 String jsxGet_namespaceURI()
          Returns The URI that identifies an XML namespace.
 Node jsxGet_nextSibling()
          Gets the JavaScript property "nextSibling" for the node that contains the current node.
 String jsxGet_nodeName()
          Gets the JavaScript property "nodeName" for the current node.
 short jsxGet_nodeType()
          Gets the JavaScript property "nodeType" for the current node.
 String jsxGet_nodeValue()
          Gets the JavaScript property "nodeValue" for the current node.
 Object jsxGet_ownerDocument()
          Returns the owner document.
 Object jsxGet_parentNode()
          Gets the JavaScript property "parentNode" for the node that contains the current node.
 String jsxGet_prefix()
          Returns the namespace prefix.
 Node jsxGet_previousSibling()
          Gets the JavaScript property "previousSibling" for the node that contains the current node.
 String jsxGet_textContent()
          Gets the textContent attribute.
 Object jsxGet_xml()
          Represents the xml content of the node and its descendants.
 void jsxSet_nodeValue(String newValue)
          Sets the JavaScript property "nodeValue" for the current node.
 void jsxSet_textContent(Object value)
          Replace all children elements of this element with the supplied value.
 void setDomNode(DomNode domNode)
          Sets the DOM node that corresponds to this JavaScript object.
 void setEventHandler(String eventName, net.sourceforge.htmlunit.corejs.javascript.Function eventHandler)
          Defines an event handler.
protected  void setEventHandlerProp(String eventName, Object value)
          Defines an event handler (or maybe any other object).
 
Methods inherited from class com.gargoylesoftware.htmlunit.javascript.SimpleScriptable
clone, defineFunctionProperties, defineProperty, equivalentValues, get, getBrowserVersion, getClassName, getDefaultValue, getDomNodeOrDie, getDomNodeOrNull, getPrototype, getScriptableFor, getStartingScope, getTransformerScriptableFor, getWindow, getWindow, getWithPreemption, hasInstance, initParentScope, makeScriptableFor, setCaseSensitive, setDomNode, setHtmlElement
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, clear, containsKey, containsValue, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, delete, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, entrySet, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypeOf, has, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, keySet, preventExtensions, put, put, put, putAll, putConst, putConstProperty, putProperty, putProperty, redefineProperty, remove, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size, values
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Map
equals, hashCode
 

Field Detail

ELEMENT_NODE

public static final short ELEMENT_NODE
See Also:
Node.ELEMENT_NODE, Constant Field Values

ATTRIBUTE_NODE

public static final short ATTRIBUTE_NODE
See Also:
Node.ATTRIBUTE_NODE, Constant Field Values

TEXT_NODE

public static final short TEXT_NODE
See Also:
Node.TEXT_NODE, Constant Field Values

CDATA_SECTION_NODE

public static final short CDATA_SECTION_NODE
See Also:
Node.CDATA_SECTION_NODE, Constant Field Values

ENTITY_REFERENCE_NODE

public static final short ENTITY_REFERENCE_NODE
See Also:
Node.ENTITY_REFERENCE_NODE, Constant Field Values

ENTITY_NODE

public static final short ENTITY_NODE
See Also:
Node.ENTITY_NODE, Constant Field Values

PROCESSING_INSTRUCTION_NODE

public static final short PROCESSING_INSTRUCTION_NODE
See Also:
Node.PROCESSING_INSTRUCTION_NODE, Constant Field Values

COMMENT_NODE

public static final short COMMENT_NODE
See Also:
Node.COMMENT_NODE, Constant Field Values

DOCUMENT_NODE

public static final short DOCUMENT_NODE
See Also:
Node.DOCUMENT_NODE, Constant Field Values

DOCUMENT_TYPE_NODE

public static final short DOCUMENT_TYPE_NODE
See Also:
Node.DOCUMENT_TYPE_NODE, Constant Field Values

DOCUMENT_FRAGMENT_NODE

public static final short DOCUMENT_FRAGMENT_NODE
See Also:
Node.DOCUMENT_FRAGMENT_NODE, Constant Field Values

NOTATION_NODE

public static final short NOTATION_NODE
See Also:
Node.NOTATION_NODE, Constant Field Values

DOCUMENT_POSITION_DISCONNECTED

public static final short DOCUMENT_POSITION_DISCONNECTED
See Also:
Node.DOCUMENT_POSITION_DISCONNECTED, Constant Field Values

DOCUMENT_POSITION_PRECEDING

public static final short DOCUMENT_POSITION_PRECEDING
See Also:
Node.DOCUMENT_POSITION_PRECEDING, Constant Field Values

DOCUMENT_POSITION_FOLLOWING

public static final short DOCUMENT_POSITION_FOLLOWING
See Also:
Node.DOCUMENT_POSITION_FOLLOWING, Constant Field Values

DOCUMENT_POSITION_CONTAINS

public static final short DOCUMENT_POSITION_CONTAINS
See Also:
Node.DOCUMENT_POSITION_CONTAINS, Constant Field Values

DOCUMENT_POSITION_CONTAINED_BY

public static final short DOCUMENT_POSITION_CONTAINED_BY
See Also:
Node.DOCUMENT_POSITION_CONTAINED_BY, Constant Field Values

DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC

public static final short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
See Also:
Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Constant Field Values
Constructor Detail

Node

public Node()
Creates an instance.

Method Detail

jsxGet_nodeType

public short jsxGet_nodeType()
Gets the JavaScript property "nodeType" for the current node.

Returns:
the node type

jsxGet_nodeName

public String jsxGet_nodeName()
Gets the JavaScript property "nodeName" for the current node.

Returns:
the node name

jsxGet_nodeValue

public String jsxGet_nodeValue()
Gets the JavaScript property "nodeValue" for the current node.

Returns:
the node value

jsxSet_nodeValue

public void jsxSet_nodeValue(String newValue)
Sets the JavaScript property "nodeValue" for the current node.

Parameters:
newValue - the new node value

jsxFunction_appendChild

public Object jsxFunction_appendChild(Object childObject)
Adds a DOM node to the node.

Parameters:
childObject - the node to add to this node
Returns:
the newly added child node

jsxFunction_cloneNode

public Object jsxFunction_cloneNode(boolean deep)
Clones this node.

Parameters:
deep - if true, recursively clones all descendants
Returns:
the newly cloned node

jsxFunction_insertBefore

public static Object jsxFunction_insertBefore(net.sourceforge.htmlunit.corejs.javascript.Context context,
                                              net.sourceforge.htmlunit.corejs.javascript.Scriptable thisObj,
                                              Object[] args,
                                              net.sourceforge.htmlunit.corejs.javascript.Function function)
Add a DOM node as a child to this node before the referenced node. If the referenced node is null, append to the end.

Parameters:
context - the JavaScript context
thisObj - the scriptable
args - the arguments passed into the method
function - the function
Returns:
the newly added child node

jsxFunction_insertBefore

protected Object jsxFunction_insertBefore(Object[] args)
Add a DOM node as a child to this node before the referenced node. If the referenced node is null, append to the end.

Parameters:
args - the arguments
Returns:
the newly added child node

jsxFunction_isSameNode

public boolean jsxFunction_isSameNode(Object other)
This method provides a way to determine whether two Node references returned by the implementation reference the same object. When two Node references are references to the same object, even if through a proxy, the references may be used completely interchangeably, such that all attributes have the same values and calling the same DOM method on either reference always has exactly the same effect.

Parameters:
other - the node to test against
Returns:
whether this node is the same node as the given one

jsxFunction_removeChild

public Object jsxFunction_removeChild(Object childObject)
Removes a DOM node from this node.

Parameters:
childObject - the node to remove from this node
Returns:
the removed child node

jsxFunction_hasChildNodes

public boolean jsxFunction_hasChildNodes()
Returns whether this node has any children.

Returns:
boolean true if this node has any children, false otherwise

jsxGet_childNodes

public HTMLCollection jsxGet_childNodes()
Returns the child nodes of the current element.

Returns:
the child nodes of the current element

jsxFunction_replaceChild

public Object jsxFunction_replaceChild(Object newChildObject,
                                       Object oldChildObject)
Replaces a child DOM node with another DOM node.

Parameters:
newChildObject - the node to add as a child of this node
oldChildObject - the node to remove as a child of this node
Returns:
the removed child node

getParent

public Node getParent()
Returns this node's parent node.

Returns:
this node's parent node

jsxGet_parentNode

public Object jsxGet_parentNode()
Gets the JavaScript property "parentNode" for the node that contains the current node.

Returns:
the parent node

jsxGet_nextSibling

public Node jsxGet_nextSibling()
Gets the JavaScript property "nextSibling" for the node that contains the current node.

Returns:
the next sibling node or null if the current node has no next sibling.

jsxGet_previousSibling

public Node jsxGet_previousSibling()
Gets the JavaScript property "previousSibling" for the node that contains the current node.

Returns:
the previous sibling node or null if the current node has no previous sibling.

jsxGet_firstChild

public Node jsxGet_firstChild()
Gets the JavaScript property "firstChild" for the node that contains the current node.

Returns:
the first child node or null if the current node has no children.

jsxGet_lastChild

public Node jsxGet_lastChild()
Gets the JavaScript property "lastChild" for the node that contains the current node.

Returns:
the last child node or null if the current node has no children.

getJavaScriptNode

protected Node getJavaScriptNode(DomNode domNode)
Gets the JavaScript node for a given DomNode.

Parameters:
domNode - the DomNode
Returns:
the JavaScript node or null if the DomNode was null

jsxFunction_attachEvent

public boolean jsxFunction_attachEvent(String type,
                                       net.sourceforge.htmlunit.corejs.javascript.Function listener)
Allows the registration of event listeners on the event target.

Parameters:
type - the event type to listen for (like "onclick")
listener - the event listener
Returns:
true if the listener has been added
See Also:
MSDN documentation

jsxFunction_addEventListener

public void jsxFunction_addEventListener(String type,
                                         net.sourceforge.htmlunit.corejs.javascript.Function listener,
                                         boolean useCapture)
Allows the registration of event listeners on the event target.

Parameters:
type - the event type to listen for (like "click")
listener - the event listener
useCapture - If true, indicates that the user wishes to initiate capture
See Also:
Mozilla documentation

jsxFunction_detachEvent

public void jsxFunction_detachEvent(String type,
                                    net.sourceforge.htmlunit.corejs.javascript.Function listener)
Allows the removal of event listeners on the event target.

Parameters:
type - the event type to listen for (like "onclick")
listener - the event listener
See Also:
MSDN documentation

jsxFunction_removeEventListener

public void jsxFunction_removeEventListener(String type,
                                            net.sourceforge.htmlunit.corejs.javascript.Function listener,
                                            boolean useCapture)
Allows the removal of event listeners on the event target.

Parameters:
type - the event type to listen for (like "click")
listener - the event listener
useCapture - If true, indicates that the user wishes to initiate capture (not yet implemented)
See Also:
Mozilla documentation

executeEvent

public ScriptResult executeEvent(Event event)
Executes the event on this object only (needed for instance for onload on (i)frame tags).

Parameters:
event - the event
Returns:
the result

fireEvent

public ScriptResult fireEvent(Event event)
Fires the event on the node with capturing and bubbling phase.

Parameters:
event - the event
Returns:
the result

getEventHandler

public net.sourceforge.htmlunit.corejs.javascript.Function getEventHandler(String eventName)
Returns the specified event handler.

Parameters:
eventName - the event name (e.g. "onclick")
Returns:
the handler function, or null if the property is null or not a function

hasEventHandlers

public boolean hasEventHandlers(String eventName)
Returns true if there are any event handlers for the specified event.

Parameters:
eventName - the event name (e.g. "onclick")
Returns:
true if there are any event handlers for the specified event, false otherwise

setEventHandler

public void setEventHandler(String eventName,
                            net.sourceforge.htmlunit.corejs.javascript.Function eventHandler)
Defines an event handler.

Parameters:
eventName - the event name (e.g. "onclick")
eventHandler - the handler (null to reset it)

setEventHandlerProp

protected void setEventHandlerProp(String eventName,
                                   Object value)
Defines an event handler (or maybe any other object).

Parameters:
eventName - the event name (e.g. "onclick")
value - the property (null to reset it)

getEventHandlerProp

protected Object getEventHandlerProp(String eventName)
Gets the property defined as event handler (not necessary a Function if something else has been set).

Parameters:
eventName - the event name (e.g. "onclick")
Returns:
the property

jsxGet_ownerDocument

public Object jsxGet_ownerDocument()
Returns the owner document.

Returns:
the document

jsxGet_prefix

public String jsxGet_prefix()
Returns the namespace prefix.

Returns:
the namespace prefix

jsxGet_localName

public String jsxGet_localName()
Returns the local name of this element.

Returns:
the local name of this element

jsxGet_namespaceURI

public String jsxGet_namespaceURI()
Returns The URI that identifies an XML namespace.

Returns:
the URI that identifies an XML namespace

setDomNode

public void setDomNode(DomNode domNode)
Sets the DOM node that corresponds to this JavaScript object.

Overrides:
setDomNode in class SimpleScriptable
Parameters:
domNode - the DOM node

jsxFunction_compareDocumentPosition

public short jsxFunction_compareDocumentPosition(Node node)
Compares the positions of this node and the provided node within the document.

Parameters:
node - node object that specifies the node to check
Returns:
how the node is positioned relatively to the reference node.
See Also:
DOM level 3, Node.compareDocumentPosition(org.w3c.dom.Node)

jsxFunction_normalize

public void jsxFunction_normalize()
Merges adjacent TextNode objects to produce a normalized document object model.


jsxGet_xml

public Object jsxGet_xml()
Represents the xml content of the node and its descendants.

Returns:
the xml content of the node and its descendants

jsxGet_textContent

public String jsxGet_textContent()
Gets the textContent attribute.

Returns:
the contents of this node as text

jsxSet_textContent

public void jsxSet_textContent(Object value)
Replace all children elements of this element with the supplied value.

Parameters:
value - - the new value for the contents of this node


Copyright © 2002-2011 Gargoyle Software Inc.. All Rights Reserved.