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) $
  • Field Details

    • expression

      private Expression expression
    • predicates

      private Expression[] predicates
    • basicKnown

      private boolean basicKnown
    • basic

      private boolean basic
  • Constructor Details

    • ExpressionPath

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

    • 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 String toString()
      Overrides:
      toString in class Object
    • compute

      public 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 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 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