Class ExpressionPath
- java.lang.Object
-
- org.apache.commons.jxpath.ri.compiler.Expression
-
- org.apache.commons.jxpath.ri.compiler.Path
-
- org.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: 652845 $ $Date: 2008-05-02 12:46:46 -0500 (Fri, 02 May 2008) $
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.commons.jxpath.ri.compiler.Expression
Expression.PointerIterator, Expression.ValueIterator
-
-
Field Summary
Fields Modifier and Type Field Description private booleanbasicprivate booleanbasicKnownprivate Expressionexpressionprivate Expression[]predicates-
Fields inherited from class org.apache.commons.jxpath.ri.compiler.Expression
NOT_A_NUMBER, ONE, ZERO
-
-
Constructor Summary
Constructors Constructor Description ExpressionPath(Expression expression, Expression[] predicates, Step[] steps)Create a new ExpressionPath.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectcompute(EvalContext context)Evaluates the expression.booleancomputeContextDependent()Returns true if the root expression or any of the predicates or the path steps are context dependent.java.lang.ObjectcomputeValue(EvalContext context)Evaluates the expression.protected java.lang.ObjectexpressionPath(EvalContext evalContext, boolean firstMatch)Walks an expression path (a path that starts with an expression)ExpressiongetExpression()Get the expression.Expression[]getPredicates()Predicates are the expressions in brackets that may follow the root expression of the path.booleanisSimpleExpressionPath()Recognized paths formatted as$x[3]/foo[2].java.lang.StringtoString()-
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Path
areBasicPredicates, buildContextChain, createContextForStep, evalSteps, getSingleNodePointerForSteps, getSteps, isSimplePath, isSimpleStep, searchForPath
-
Methods inherited from class org.apache.commons.jxpath.ri.compiler.Expression
isContextDependent, iterate, iteratePointers
-
-
-
-
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)
Create a new ExpressionPath.- Parameters:
expression- Expressionpredicates- to executesteps- 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:
computeContextDependentin classPath- 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:
toStringin classjava.lang.Object
-
compute
public java.lang.Object compute(EvalContext context)
Description copied from class:ExpressionEvaluates the expression. If the result is a node set, returns the first element of the node set.- Specified by:
computein classExpression- Parameters:
context- evaluation context- Returns:
- Object
-
computeValue
public java.lang.Object computeValue(EvalContext context)
Description copied from class:ExpressionEvaluates the expression. If the result is a node set, returns the first element of the node set.- Specified by:
computeValuein classExpression- 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 contextfirstMatch- whether to return the first match found- Returns:
- Object found
-
-