org.apache.commons.jxpath.ri.compiler
Class ExpressionPath

java.lang.Object
  extended byorg.apache.commons.jxpath.ri.compiler.Expression
      extended byorg.apache.commons.jxpath.ri.compiler.Path
          extended byorg.apache.commons.jxpath.ri.compiler.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: 1.11 $ $Date: 2004/02/29 14:17:39 $
Author:
Dmitri Plotnikov

Nested Class Summary
 
Nested classes inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
 
Field Summary
private  boolean basic
           
private  boolean basicKnown
           
private  Expression expression
           
private  Expression[] predicates
           
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Path
 
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
 
Constructor Summary
ExpressionPath(Expression expression, Expression[] predicates, Step[] steps)
           
 
Method Summary
 java.lang.Object compute(EvalContext context)
           
 boolean computeContextDependent()
          Returns true if the root expression or any of the predicates or the path steps are context dependent.
 java.lang.Object computeValue(EvalContext context)
          Evaluates the expression.
protected  java.lang.Object expressionPath(EvalContext evalContext, boolean firstMatch)
          Walks an expression path (a path that starts with an expression)
 Expression getExpression()
           
 Expression[] getPredicates()
          Predicates are the expressions in brackets that may follow the root expression of the path.
 boolean isSimpleExpressionPath()
          Recognized paths formatted as $x[3]/foo[2].
 java.lang.String toString()
           
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Path
areBasicPredicates, createContextForStep, evalSteps, getSingleNodePointerForSteps, getSteps, isSimplePath, isSimpleStep
 
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
isContextDependent, iterate, iteratePointers
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

expression

private Expression expression

predicates

private Expression[] predicates

basicKnown

private boolean basicKnown

basic

private boolean basic
Constructor Detail

ExpressionPath

public ExpressionPath(Expression expression,
                      Expression[] predicates,
                      Step[] steps)
Method Detail

getExpression

public Expression getExpression()

getPredicates

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


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

isSimpleExpressionPath

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


toString

public java.lang.String toString()

compute

public java.lang.Object compute(EvalContext context)
Specified by:
compute in class Expression

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

expressionPath

protected java.lang.Object expressionPath(EvalContext evalContext,
                                          boolean firstMatch)
Walks an expression path (a path that starts with an expression)