|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.commons.jexl.parser.SimpleNode
org.apache.commons.jexl.parser.ASTArrayAccess
public class ASTArrayAccess
Like an ASTIdentifier, but with array access allowed. $foo[2]
Field Summary | |
---|---|
private static Info |
DUMMY
dummy velocity info. |
Fields inherited from class org.apache.commons.jexl.parser.SimpleNode |
---|
children, id, parent, parser |
Constructor Summary | |
---|---|
ASTArrayAccess(int id)
Create the node given an id. |
|
ASTArrayAccess(Parser p,
int id)
Create a node with the given parser and id. |
Method Summary | |
---|---|
static java.lang.Object |
evaluateExpr(java.lang.Object o,
java.lang.Object loc)
Evaluate the Array expression 'loc' on the given object, o. |
java.lang.Object |
execute(java.lang.Object obj,
JexlContext jc)
evaluate array access upon a base object. |
java.lang.String |
getIdentifierString()
Gets the variable name piece of the expression. |
java.lang.Object |
jjtAccept(ParserVisitor visitor,
java.lang.Object data)
Accept the visitor. |
java.lang.Object |
value(JexlContext jc)
Gets the value of this node. |
Methods inherited from class org.apache.commons.jexl.parser.SimpleNode |
---|
childrenAccept, dump, interpret, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, setValue, toString, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final Info DUMMY
Constructor Detail |
---|
public ASTArrayAccess(int id)
id
- node id.public ASTArrayAccess(Parser p, int id)
p
- a parser.id
- node id.Method Detail |
---|
public java.lang.Object jjtAccept(ParserVisitor visitor, java.lang.Object data)
jjtAccept
in interface Node
jjtAccept
in class SimpleNode
visitor
- a ParserVisitor
.data
- data to be passed along to the visitor.
ParserVisitor.visit(org.apache.commons.jexl.parser.SimpleNode, java.lang.Object)
public java.lang.Object execute(java.lang.Object obj, JexlContext jc) throws java.lang.Exception
execute
in class SimpleNode
jc
- the JexlContext
to evaluate against.obj
- not used.
java.lang.Exception
- on any errorpublic java.lang.Object value(JexlContext jc) throws java.lang.Exception
value
in class SimpleNode
jc
- the context to retrieve values from.
java.lang.Exception
- when evaluating the operands fails.public static java.lang.Object evaluateExpr(java.lang.Object o, java.lang.Object loc) throws java.lang.Exception
2
is 'loc' and a
is 'o'.
If o or loc are null, null is returned.
If o is a Map, o.get(loc) is returned.
If o is a List, o.get(loc) is returned. loc must resolve to an int value.
If o is an Array, o[loc] is returned. loc must resolve to an int value.
Otherwise loc is treated as a bean property of o.
o
- an object to be accessed using the array operator or '.' operator.loc
- the index of the object to be returned.
java.lang.Exception
- on any error.public java.lang.String getIdentifierString()
ASTIdentifier.getIdentifierString().
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |