org.apache.velocity.runtime.parser.node

Class ASTIdentifier

Implemented Interfaces:
Node

public class ASTIdentifier
extends SimpleNode

ASTIdentifier.java Method support for identifiers : $foo mainly used by ASTRefrence Introspection is now moved to 'just in time' or at render / execution time. There are many reasons why this has to be done, but the primary two are thread safety, to remove any context-derived information from class member variables.
Version:
$Id: ASTIdentifier.java,v 1.19.4.1 2004/03/03 23:22:58 geirm Exp $
Authors:
Jason van Zyl
Geir Magnusson Jr.

Field Summary

private String
identifier
protected Info
uberInfo
This is really immutable after the init, so keep one for this node

Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

children, first, id, info, invalid, last, parent, parser, rsvc, state

Constructor Summary

ASTIdentifier(int id)
ASTIdentifier(Parser p, int id)

Method Summary

Object
execute(Object o, InternalContextAdapter context)
invokes the method on the object passed in
Object
init(InternalContextAdapter context, Object data)
simple init - don't do anything that is context specific.
Object
jjtAccept(ParserVisitor visitor, Object data)
Accept the visitor.

Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode

childrenAccept, dump, evaluate, execute, getColumn, getFirstToken, getInfo, getLastToken, getLine, getType, init, isInvalid, jjtAccept, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, render, setFirstToken, setInfo, setInvalid, toString, value

Field Details

identifier

private String identifier

uberInfo

protected Info uberInfo
This is really immutable after the init, so keep one for this node

Constructor Details

ASTIdentifier

public ASTIdentifier(int id)

ASTIdentifier

public ASTIdentifier(Parser p,
                     int id)

Method Details

execute

public Object execute(Object o,
                      InternalContextAdapter context)
            throws MethodInvocationException
invokes the method on the object passed in
Specified by:
execute in interface Node
Overrides:
execute in interface SimpleNode

init

public Object init(InternalContextAdapter context,
                   Object data)
            throws Exception
simple init - don't do anything that is context specific. just get what we need from the AST, which is static.
Specified by:
init in interface Node
Overrides:
init in interface SimpleNode

jjtAccept

public Object jjtAccept(ParserVisitor visitor,
                        Object data)
Accept the visitor. *
Specified by:
jjtAccept in interface Node
Overrides:
jjtAccept in interface SimpleNode

Copyright B) 2002 Apache Software Foundation. All Rights Reserved.