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.
  • Constructor Details Link icon

    • ExpressionPath Link icon

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

    • compute Link icon

      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
    • computeContextDependent Link icon

      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
    • computeValue Link icon

      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 Link icon

      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
    • getExpression Link icon

      Gets the expression.
      Returns:
      Expression
    • getPredicates Link icon

      Predicates are the expressions in brackets that may follow the root expression of the path.
      Returns:
      Expression[]
    • isSimpleExpressionPath Link icon

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

      public String toString()
      Overrides:
      toString in class Object