org.apache.commons.jexl.parser

Class ASTArrayAccess

public class ASTArrayAccess extends SimpleNode

Like an ASTIdentifier, but with array access allowed. $foo[2]

Version: $Id: ASTArrayAccess.java 398180 2006-04-29 15:40:35Z dion $

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 ObjectevaluateExpr(Object o, Object loc)
Evaluate the Array expression 'loc' on the given object, o. e.g. in 'a[2]', 2 is 'loc' and a is 'o'.
Objectexecute(Object obj, JexlContext jc)
evaluate array access upon a base object. foo.bar[2] makes me rethink the array operator :)
StringgetIdentifierString()
Gets the variable name piece of the expression.
ObjectjjtAccept(ParserVisitor visitor, Object data)
Objectvalue(JexlContext jc)

Constructor Detail

ASTArrayAccess

public ASTArrayAccess(int id)
Create the node given an id.

Parameters: id node id.

ASTArrayAccess

public ASTArrayAccess(Parser p, int id)
Create a node with the given parser and id.

Parameters: p a parser. id node id.

Method Detail

evaluateExpr

public static Object evaluateExpr(Object o, Object loc)
Evaluate the Array expression 'loc' on the given object, o. e.g. in 'a[2]', 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.

Parameters: o an object to be accessed using the array operator or '.' operator. loc the index of the object to be returned.

Returns: the resulting value.

Throws: Exception on any error.

execute

public Object execute(Object obj, JexlContext jc)
evaluate array access upon a base object. foo.bar[2] makes me rethink the array operator :)

Parameters: jc the JexlContext to evaluate against. obj not used.

Returns: the value of the array expression.

Throws: Exception on any error

getIdentifierString

public String getIdentifierString()
Gets the variable name piece of the expression.

Returns: a String of the identifer.

See Also: .

jjtAccept

public Object jjtAccept(ParserVisitor visitor, Object data)
{@inheritDoc }

value

public Object value(JexlContext jc)
{@inheritDoc }
Copyright © 2003-2010 The Apache Software Foundation. All Rights Reserved.