Interface NodeVisitor

All Known Implementing Classes:
W3CDom.W3CBuilder

public interface NodeVisitor
Node visitor interface. Provide an implementing class to NodeTraversor to iterate through nodes.

This interface provides two methods, head and tail. The head method is called when the node is first seen, and the tail method when all of the node's children have been visited. As an example, head can be used to emit a start tag for a node, and tail to create the end tag.

  • Method Summary

    Modifier and Type Method Description
    void head​(Node node, int depth)
    Callback for when a node is first visited.
    void tail​(Node node, int depth)
    Callback for when a node is last visited, after all of its descendants have been visited.
  • Method Details

    • head

      void head​(Node node, int depth)
      Callback for when a node is first visited.

      The node may be modified (e.g. Node.attr(String) or replaced Node.replaceWith(Node)). If it's instanceOf Element, you may cast it to an Element and access those methods.

      Note that nodes may not be removed during traversal using this method; use NodeTraversor.filter(NodeFilter, Node) with a NodeFilter.FilterResult.REMOVE return instead.

      Parameters:
      node - the node being visited.
      depth - the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node of that will have depth 1.
    • tail

      void tail​(Node node, int depth)
      Callback for when a node is last visited, after all of its descendants have been visited.

      Note that replacement with Node.replaceWith(Node)

      is not supported in tail.
      Parameters:
      node - the node being visited.
      depth - the depth of the node, relative to the root node. E.g., the root node has depth 0, and a child node of that will have depth 1.