org.apache.commons.jexl.parser
Class ASTIdentifier

java.lang.Object
  |
  +--org.apache.commons.jexl.parser.SimpleNode
        |
        +--org.apache.commons.jexl.parser.ASTIdentifier
All Implemented Interfaces:
Node

public class ASTIdentifier
extends SimpleNode

Simple identifier - $foo or $foo.bar (both parts are identifiers).

Version:
$Id: ASTIdentifier.java 398199 2006-04-29 16:30:05Z dion $

Field Summary
protected  String val
          the name of the variable.
 
Fields inherited from class org.apache.commons.jexl.parser.SimpleNode
children, id, parent, parser
 
Constructor Summary
ASTIdentifier(int id)
          Create the node given an id.
ASTIdentifier(Parser p, int id)
          Create a node with the given parser and id.
 
Method Summary
 Object execute(Object obj, JexlContext jc)
          returns the value of itself applied to the object.
 String getIdentifierString()
          Gets the name of the variable.
 Object jjtAccept(ParserVisitor visitor, Object data)
          Accept the visitor.
 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

val

protected String val
the name of the variable.

Constructor Detail

ASTIdentifier

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

Parameters:
id - node id.

ASTIdentifier

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

Parameters:
p - a parser.
id - node id.
Method Detail

jjtAccept

public Object jjtAccept(ParserVisitor visitor,
                        Object data)
Accept the visitor.

Specified by:
jjtAccept in interface Node
Overrides:
jjtAccept in class 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
Gets the value of this node.

Overrides:
value in class SimpleNode
Parameters:
jc - the context to retrieve values from.
Returns:
the value of the node.
Throws:
Exception - when evaluating the operands fails.

execute

public Object execute(Object obj,
                      JexlContext jc)
               throws Exception
returns the value of itself applied to the object. We assume that an identifier can be gotten via a get(String). e.g. if we have bean.property, 'property' has been parsed as an identifier, and we need to resolve the expression by calling the property getter.

Overrides:
execute in class SimpleNode
Parameters:
obj - the object to evaluate against.
jc - the JexlContext.
Returns:
the resulting value.
Throws:
Exception - on any error.
See Also:
ASTArrayAccess.evaluateExpr(Object, Object)

getIdentifierString

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

Returns:
the variable name.


Copyright © 2003-2006 The Apache Software Foundation. All Rights Reserved.