Class DTMDefaultBaseTraversers.DescendantOrSelfFromRootTraverser

Enclosing class:
DTMDefaultBaseTraversers

private class DTMDefaultBaseTraversers.DescendantOrSelfFromRootTraverser extends DTMDefaultBaseTraversers.DescendantTraverser
A non-xpath axis, returns all nodes that aren't namespaces or attributes, from and including the root.
  • Constructor Details

    • DescendantOrSelfFromRootTraverser

      private DescendantOrSelfFromRootTraverser()
  • Method Details

    • getFirstPotential

      protected int getFirstPotential(int identity)
      Get the first potential identity that can be returned. This should be overridded by classes that need to return the self node.
      Overrides:
      getFirstPotential in class DTMDefaultBaseTraversers.DescendantTraverser
      Parameters:
      identity - The node identity of the root context of the traversal.
      Returns:
      The first potential node that can be in the traversal.
    • getSubtreeRoot

      protected int getSubtreeRoot(int handle)
      Get the subtree root identity from the handle that was passed in by the caller. Derived classes may override this to change the root context of the traversal.
      Overrides:
      getSubtreeRoot in class DTMDefaultBaseTraversers.DescendantTraverser
      Parameters:
      handle - handle to the root context.
      Returns:
      identity of the root of the subtree.
    • first

      public int first(int context)
      By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop. So to traverse an axis, the first function must be used to get the first node.

      This method needs to be overloaded only by those axis that process the self node.

      Overrides:
      first in class DTMAxisTraverser
      Parameters:
      context - The context node of this traversal. This is the point that the traversal starts from.
      Returns:
      the first node in the traversal.
    • first

      public int first(int context, int expandedTypeID)
      By the nature of the stateless traversal, the context node can not be returned or the iteration will go into an infinate loop. So to traverse an axis, the first function must be used to get the first node.

      This method needs to be overloaded only by those axis that process the self node.

      Overrides:
      first in class DTMDefaultBaseTraversers.DescendantTraverser
      Parameters:
      context - The context node of this traversal. This is the point of origin for the traversal -- its "root node" or starting point.
      expandedTypeID - The extended type ID that must match.
      Returns:
      the first node in the traversal.