com.gargoylesoftware.htmlunit.javascript.host
Class TreeWalker

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.TreeWalker
All Implemented Interfaces:
Serializable, Cloneable, net.sourceforge.htmlunit.corejs.javascript.ConstProperties, net.sourceforge.htmlunit.corejs.javascript.debug.DebuggableObject, net.sourceforge.htmlunit.corejs.javascript.Scriptable

public class TreeWalker
extends SimpleScriptable

The JavaScript object that represents a TreeWalker.

Version:
$Revision: 8947 $
Author:
Mike Dirolf, Frank Danek
See Also:
DOM-Level-2-Traversal-Range, Serialized Form

Field Summary
 
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
TreeWalker()
          Creates an instance.
TreeWalker(Node root, long whatToShow, NodeFilter filter, boolean expandEntityReferences)
          Creates an instance.
 
Method Summary
 Node firstChild()
          Moves the TreeWalker to the first visible child of the current node, and returns the new node.
 Node getCurrentNode()
          Gets the node at which the TreeWalker is currently positioned.
 boolean getExpandEntityReferences()
          Gets the flag specifying wherether or not to reject EntityReference nodes.
 NodeFilter getFilter()
          Gets the filter used to screen nodes.
 Node getRoot()
          Gets the root node of the TreeWalker, as specified when it was created.
 long getWhatToShow()
          Gets the whatToShow attribute of the TreeWalker.
 Node lastChild()
          Moves the TreeWalker to the last visible child of the current node, and returns the new node.
 Node nextNode()
          Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node.
 Node nextSibling()
          Moves the TreeWalker to the next sibling of the current node, and returns the new node.
 Node parentNode()
          Moves to and returns the closest visible ancestor node of the current node.
 Node previousNode()
          Moves the TreeWalker to the previous visible node in document order relative to the current node, and returns the new node.
 Node previousSibling()
          Moves the TreeWalker to the previous sibling of the current node, and returns the new node.
 void setCurrentNode(Node currentNode)
          Sets the node at which the TreeWalker is currently positioned.
 
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, isReadOnlySettable, makeScriptableFor, setCaseSensitive, setDomNode, setDomNode, setHtmlElement, setParentScope
 
Methods inherited from class net.sourceforge.htmlunit.corejs.javascript.ScriptableObject
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, delete, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setPrototype, size
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeWalker

public TreeWalker()
Creates an instance.


TreeWalker

public TreeWalker(Node root,
                  long whatToShow,
                  NodeFilter filter,
                  boolean expandEntityReferences)
           throws DOMException
Creates an instance.

Parameters:
root - The root node of the TreeWalker. Must not be null.
whatToShow - Flag specifying which types of nodes appear in the logical view of the TreeWalker. See NodeFilter for the set of possible Show_ values.
filter - The NodeFilter to be used with this TreeWalker, or null to indicate no filter.
expandEntityReferences - If false, the contents of EntityReference nodes are not present in the logical view.
Throws:
DOMException - on attempt to create a TreeWalker with a root that is null.
Method Detail

getRoot

public Node getRoot()
Gets the root node of the TreeWalker, as specified when it was created.

Returns:
the root node of the TreeWalker

getWhatToShow

public long getWhatToShow()
Gets the whatToShow attribute of the TreeWalker. This attribute determines which node types are presented via the TreeWalker. The set of available constants is defined in NodeFilter.

Returns:
the value of the whatToShow attribute of the TreeWalker

getFilter

public NodeFilter getFilter()
Gets the filter used to screen nodes.

Returns:
the filter used to screen nodes

getExpandEntityReferences

public boolean getExpandEntityReferences()
Gets the flag specifying wherether or not to reject EntityReference nodes.

Returns:
the value of the expandEntityReferences flag

getCurrentNode

public Node getCurrentNode()
Gets the node at which the TreeWalker is currently positioned.

Returns:
the currentNode

setCurrentNode

public void setCurrentNode(Node currentNode)
                    throws DOMException
Sets the node at which the TreeWalker is currently positioned.

Parameters:
currentNode - The node to be used as the current position of the TreeWalker.
Throws:
DOMException - on attempt to set currentNode to null.

parentNode

public Node parentNode()
Moves to and returns the closest visible ancestor node of the current node. If the search for parentNode attempts to step upward from the TreeWalker's root node, or if it fails to find a visible ancestor node, this method retains the current position and returns null.

Returns:
The new parent node, or null if the current node has no parent in the TreeWalker's logical view.

firstChild

public Node firstChild()
Moves the TreeWalker to the first visible child of the current node, and returns the new node. If the current node has no visible children, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no visible children in the TreeWalker's logical view.

lastChild

public Node lastChild()
Moves the TreeWalker to the last visible child of the current node, and returns the new node. If the current node has no visible children, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no visible children in the TreeWalker's logical view.

previousSibling

public Node previousSibling()
Moves the TreeWalker to the previous sibling of the current node, and returns the new node. If the current node has no visible previous sibling, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no previous sibling in the TreeWalker's logical view.

nextSibling

public Node nextSibling()
Moves the TreeWalker to the next sibling of the current node, and returns the new node. If the current node has no visible next sibling, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no next sibling in the TreeWalker's logical view.

previousNode

public Node previousNode()
Moves the TreeWalker to the previous visible node in document order relative to the current node, and returns the new node. If the current node has no previous node, or if the search for previousNode attempts to step upward from the TreeWalker's root node, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no previous node in the TreeWalker's logical view.

nextNode

public Node nextNode()
Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node. If the current node has no next node, or if the search for nextNode attempts to step upward from the TreeWalker's root node, returns null, and retains the current node.

Returns:
The new node, or null if the current node has no next node in the TreeWalker's logical view.


Copyright © 2002–2014 Gargoyle Software Inc.. All rights reserved.