org.apache.commons.jexl.parser
Class ASTReference
java.lang.Object
|
+--org.apache.commons.jexl.parser.SimpleNode
|
+--org.apache.commons.jexl.parser.ASTReference
- All Implemented Interfaces:
- Node
- public class ASTReference
- extends SimpleNode
reference - any variable expression.
- Version:
- $Id: ASTReference.java 398272 2006-04-30 03:14:01Z dion $
Field Summary |
protected SimpleNode |
root
first variable in the expression. |
Methods inherited from class org.apache.commons.jexl.parser.SimpleNode |
childrenAccept, dump, interpret, jjtAddChild, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, setValue, toString, toString |
root
protected SimpleNode root
- first variable in the expression.
ASTReference
public ASTReference(int id)
- Create the node given an id.
- Parameters:
id
- node id.
ASTReference
public ASTReference(Parser p,
int id)
- Create a node with the given parser and id.
- Parameters:
p
- a parser.id
- node id.
jjtAccept
public Object jjtAccept(ParserVisitor visitor,
Object data)
- {@inheritDoc}
- Overrides:
jjtAccept
in class SimpleNode
- Following copied from class:
org.apache.commons.jexl.parser.SimpleNode
- Parameters:
visitor
- a ParserVisitor
.data
- data to be passed along to the visitor.- Returns:
- the value from visiting.
- See Also:
ParserVisitor.visit(org.apache.commons.jexl.parser.SimpleNode, java.lang.Object)
value
public Object value(JexlContext jc)
throws Exception
- {@inheritDoc}
- Overrides:
value
in class SimpleNode
- Following copied from class:
org.apache.commons.jexl.parser.SimpleNode
- Parameters:
context
- the context to retrieve values from.- Returns:
- the value of the node.
- Throws:
Exception
- when evaluating the operands fails.
jjtClose
public void jjtClose()
- Store the first child as
root
.
- Overrides:
jjtClose
in class SimpleNode
execute
public Object execute(Object obj,
JexlContext jc)
throws Exception
- evaluate each piece of the reference.
e.g. foo.bar.woogie[2].name, foo is our 'root', and we need to
evaluate 'bar.woogie[2].name' relative to foo.
- Overrides:
execute
in class SimpleNode
- Parameters:
jc
- the JexlContext
to evaluate against.obj
- not used. root.value(jc) is used instead.- Returns:
- the value of the array expression.
- Throws:
Exception
- on any error
getRootString
public String getRootString()
throws Exception
- Gets the variable name of
root
.
- Returns:
- the identifier.
- Throws:
Exception
- on any error- See Also:
ASTIdentifier.getIdentifierString()
,
ASTArrayAccess.getIdentifierString()
Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.