Class PredicateContext

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

    public class PredicateContext
    extends EvalContext
    EvalContext that checks predicates.
    Version:
    $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
    Author:
    Dmitri Plotnikov
    • Field Detail

      • done

        private boolean done
      • nameTestExpression

        private Expression nameTestExpression
    • Constructor Detail

      • PredicateContext

        public PredicateContext​(EvalContext parentContext,
                                Expression expression)
        Create a new PredicateContext.
        Parameters:
        parentContext - parent context
        expression - compiled Expression
    • Method Detail

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

        private boolean setupDynamicPropertyPointer()
        Used for an optimized access to dynamic properties using the "map[@name = 'name']" syntax
        Returns:
        whether valid
      • 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
      • 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
      • reset

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

        public boolean nextSet()
        Description copied from class: EvalContext
        Returns true if there is another sets of objects to interate over. Resets the current position and node.
        Overrides:
        nextSet in class EvalContext
        Returns:
        boolean
      • setPositionStandard

        private boolean setPositionStandard​(int position)
        Basic setPosition
        Parameters:
        position - to set
        Returns:
        whether valid