Class PrecedingOrFollowingContext

  • All Implemented Interfaces:
    java.util.Iterator, ExpressionContext

    public class PrecedingOrFollowingContext
    extends EvalContext
    EvalContext that walks the "preceding::" and "following::" axes.
    Version:
    $Revision: 670727 $ $Date: 2008-06-23 15:10:38 -0500 (Mon, 23 Jun 2008) $
    • Field Detail

      • setStarted

        private boolean setStarted
      • stack

        private java.util.Stack stack
      • currentNodePointer

        private NodePointer currentNodePointer
      • currentRootLocation

        private NodePointer currentRootLocation
      • reverse

        private boolean reverse
    • Constructor Detail

      • PrecedingOrFollowingContext

        public PrecedingOrFollowingContext​(EvalContext parentContext,
                                           NodeTest nodeTest,
                                           boolean reverse)
        Create a new PrecedingOrFollowingContext.
        Parameters:
        parentContext - parent context
        nodeTest - test
        reverse - whether to iterate in reverse order
    • Method Detail

      • getCurrentNodePointer

        public NodePointer getCurrentNodePointer()
        Description copied from class: EvalContext
        Returns the current context node. Undefined before the beginning of the iteration.
        Specified by:
        getCurrentNodePointer in class EvalContext
        Returns:
        NodePoiner
      • getDocumentOrder

        public int getDocumentOrder()
        Description copied from class: EvalContext
        Determines the document order for this context.
        Overrides:
        getDocumentOrder in class EvalContext
        Returns:
        1 ascending order, -1 descending order, 0 - does not require ordering
      • reset

        public void reset()
        Description copied from class: EvalContext
        Sets current position = 0, which is the pre-iteration state.
        Overrides:
        reset in class EvalContext
      • setPosition

        public boolean setPosition​(int position)
        Description copied from class: EvalContext
        Moves the current position to the specified index. Used with integer predicates to quickly get to the n'th element of the node set. Returns false if the position is out of the node set range. You can call it with 0 as the position argument to restart the iteration.
        Overrides:
        setPosition in class EvalContext
        Parameters:
        position - to set
        Returns:
        boolean
      • nextNode

        public boolean nextNode()
        Description copied from class: EvalContext
        Returns true if there is another object in the current set. Switches the current position and node to the next object.
        Specified by:
        nextNode in class EvalContext
        Returns:
        boolean