Class DTMDefaultBaseTraversers.DescendantOrSelfTraverser

Direct Known Subclasses:
DTMDefaultBaseTraversers.AllFromNodeTraverser
Enclosing class:
DTMDefaultBaseTraversers

private class DTMDefaultBaseTraversers.DescendantOrSelfTraverser extends DTMDefaultBaseTraversers.DescendantTraverser
Implements traversal of the Ancestor access, in reverse document order.
  • Constructor Details

    • DescendantOrSelfTraverser

      private DescendantOrSelfTraverser()
  • 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.
    • 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.