Class DTMDefaultBaseTraversers.DescendantOrSelfFromRootTraverser

    • Constructor Detail

      • DescendantOrSelfFromRootTraverser

        private DescendantOrSelfFromRootTraverser()
    • Method Detail

      • 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.