Class ExpressionPath


  • public class ExpressionPath
    extends Path
    An element of the parse tree that represents an expression path, which is a path that starts with an expression like a function call: getFoo(.) /bar.
    Version:
    $Revision: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
    Author:
    Dmitri Plotnikov
    • Field Detail

      • basicKnown

        private boolean basicKnown
      • basic

        private boolean basic
    • Constructor Detail

      • ExpressionPath

        public ExpressionPath​(Expression expression,
                              Expression[] predicates,
                              Step[] steps)
        Create a new ExpressionPath.
        Parameters:
        expression - Expression
        predicates - to execute
        steps - navigation
    • Method Detail

      • getExpression

        public Expression getExpression()
        Get the expression.
        Returns:
        Expression
      • getPredicates

        public Expression[] getPredicates()
        Predicates are the expressions in brackets that may follow the root expression of the path.
        Returns:
        Expression[]
      • computeContextDependent

        public boolean computeContextDependent()
        Returns true if the root expression or any of the predicates or the path steps are context dependent.
        Overrides:
        computeContextDependent in class Path
        Returns:
        boolean
      • isSimpleExpressionPath

        public boolean isSimpleExpressionPath()
        Recognized paths formatted as $x[3]/foo[2]. The evaluation of such "simple" paths is optimized and streamlined.
        Returns:
        boolean
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • compute

        public java.lang.Object compute​(EvalContext context)
        Description copied from class: Expression
        Evaluates the expression. If the result is a node set, returns the first element of the node set.
        Specified by:
        compute in class Expression
        Parameters:
        context - evaluation context
        Returns:
        Object
      • computeValue

        public java.lang.Object computeValue​(EvalContext context)
        Description copied from class: Expression
        Evaluates the expression. If the result is a node set, returns the first element of the node set.
        Specified by:
        computeValue in class Expression
        Parameters:
        context - evaluation context
        Returns:
        Object
      • expressionPath

        protected java.lang.Object expressionPath​(EvalContext evalContext,
                                                  boolean firstMatch)
        Walks an expression path (a path that starts with an expression)
        Parameters:
        evalContext - base context
        firstMatch - whether to return the first match found
        Returns:
        Object found