Class TreeWalker

java.lang.Object
org.htmlunit.corejs.javascript.ScriptableObject
org.htmlunit.javascript.HtmlUnitScriptable
org.htmlunit.javascript.host.dom.TreeWalker
All Implemented Interfaces:
Serializable, Cloneable, org.htmlunit.corejs.javascript.ConstProperties, org.htmlunit.corejs.javascript.debug.DebuggableObject, org.htmlunit.corejs.javascript.Scriptable, org.htmlunit.corejs.javascript.SymbolScriptable

public class TreeWalker extends HtmlUnitScriptable
The JavaScript object that represents a TreeWalker.
See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    org.htmlunit.corejs.javascript.ScriptableObject.KeyComparator
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
     

    Fields inherited from class org.htmlunit.corejs.javascript.ScriptableObject

    CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST

    Fields inherited from interface org.htmlunit.corejs.javascript.Scriptable

    NOT_FOUND
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates an instance.
    TreeWalker(Node root, int whatToShow, org.w3c.dom.traversal.NodeFilter filter, boolean expandEntityReferences)
    Creates an instance.
  • Method Summary

    Modifier and Type
    Method
    Description
    Moves the TreeWalker to the first visible child of the current node, and returns the new node.
    Gets the node at which the TreeWalker is currently positioned.
    Gets the filter used to screen nodes.
    (package private) static int
    Given a Node, return the appropriate constant for whatToShow.
    private static Node
     
    Gets the root node of the TreeWalker, as specified when it was created.
    long
    Gets the whatToShow attribute of the TreeWalker.
    void
    Creates an instance.
    Moves the TreeWalker to the last visible child of the current node, and returns the new node.
    Moves the TreeWalker to the next visible node in document order relative to the current node, and returns the new node.
    Moves the TreeWalker to the next sibling of the current node, and returns the new node.
    Moves to and returns the closest visible ancestor node of the current node.
    Moves the TreeWalker to the previous visible node in document order relative to the current node, and returns the new node.
    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 org.htmlunit.corejs.javascript.ScriptableObject

    applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, delete, delete, deleteProperty, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, ensureSymbolScriptable, get, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getExternalArrayData, getExternalArrayLength, getFunctionPrototype, getGeneratorFunctionPrototype, getGetterOrSetter, getGetterOrSetter, getIds, getObjectPrototype, getOwnPropertyDescriptor, getParentScope, getProperty, getProperty, getProperty, getPropertyIds, getPrototype, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, getTypeOf, has, has, hasProperty, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, put, putConst, putConstProperty, putProperty, putProperty, putProperty, querySlot, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setAttributes, setAttributes, setCommonDescriptorProperties, setExternalArrayData, setGetterOrSetter, setPrototype, size

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • TreeWalker

      public TreeWalker()
      Creates an instance.
    • TreeWalker

      public TreeWalker(Node root, int whatToShow, org.w3c.dom.traversal.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 Details

    • jsConstructor

      public void jsConstructor()
      Creates an instance.
    • 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 Object getFilter()
      Gets the filter used to screen nodes.
      Returns:
      the filter used to screen nodes
    • 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.
    • getFlagForNode

      static int getFlagForNode(Node node)
      Given a Node, return the appropriate constant for whatToShow.
      Parameters:
      node - the node
      Returns:
      the whatToShow constant for the type of specified node
    • 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.
    • getNodeOrNull

      private static Node getNodeOrNull(DomNode domNode)
    • 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.