Class DTMDefaultBaseIterators.DescendantIterator

    • Constructor Detail

      • DescendantIterator

        public DescendantIterator()
    • Method Detail

      • setStartNode

        public void setStartNode​(int node)
        Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.
        Parameters:
        node - Sets the root of the iteration.
      • isDescendant

        protected boolean isDescendant​(int identity)
        Tell if this node identity is a descendant. Assumes that the node info for the element has already been obtained.

        This one-sided test works only if the parent has been previously tested and is known to be a descendent. It fails if the parent is the _startNode's next sibling, or indeed any node that follows _startNode in document order. That may suffice for this iterator, but it's not really an isDescendent() test. %REVIEW% rename?

        Parameters:
        identity - The index number of the node in question.
        Returns:
        true if the index is a descendant of _startNode.
      • next

        public int next()
        Get the next node in the iteration.
        Returns:
        The next node handle in the iteration, or END.