Class TreeWalker

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.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:
    DOM-Level-2-Traversal-Range, Serialized Form
    • 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
      private HtmlDomTreeWalker walker_  
      • 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
      TreeWalker()
      Creates an instance.
      TreeWalker​(Node root, int whatToShow, org.w3c.dom.traversal.NodeFilter filter, boolean expandEntityReferences)
      Creates an instance.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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.
      java.lang.Object getFilter()
      Gets the filter used to screen nodes.
      (package private) static int getFlagForNode​(Node node)
      Given a Node, return the appropriate constant for whatToShow.
      private static Node getNodeOrNull​(DomNode domNode)  
      Node getRoot()
      Gets the root node of the TreeWalker, as specified when it was created.
      long getWhatToShow()
      Gets the whatToShow attribute of the TreeWalker.
      void jsConstructor()
      Creates an instance.
      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 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
    • Constructor Detail

      • TreeWalker

        public TreeWalker()
        Creates an instance.
      • TreeWalker

        public TreeWalker​(Node root,
                          int whatToShow,
                          org.w3c.dom.traversal.NodeFilter filter,
                          boolean expandEntityReferences)
                   throws org.w3c.dom.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:
        org.w3c.dom.DOMException - on attempt to create a TreeWalker with a root that is null.
    • Method Detail

      • 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 java.lang.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 org.w3c.dom.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:
        org.w3c.dom.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.