org.apache.velocity.runtime.parser.node
Class ASTIdentifier

java.lang.Object
  |
  +--org.apache.velocity.runtime.parser.node.SimpleNode
        |
        +--org.apache.velocity.runtime.parser.node.ASTIdentifier
All 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 $
Author:
Jason van Zyl, Geir Magnusson Jr.

Field Summary
private  java.lang.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
 java.lang.Object execute(java.lang.Object o, InternalContextAdapter context)
          invokes the method on the object passed in
 java.lang.Object init(InternalContextAdapter context, java.lang.Object data)
          simple init - don't do anything that is context specific.
 java.lang.Object jjtAccept(ParserVisitor visitor, java.lang.Object data)
          Accept the visitor.
 
Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
childrenAccept, dump, evaluate, getColumn, getFirstToken, getInfo, getLastToken, getLine, getType, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, render, setFirstToken, setInfo, setInvalid, toString, value
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

identifier

private java.lang.String identifier

uberInfo

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

ASTIdentifier

public ASTIdentifier(int id)

ASTIdentifier

public ASTIdentifier(Parser p,
                     int id)
Method Detail

jjtAccept

public java.lang.Object jjtAccept(ParserVisitor visitor,
                                  java.lang.Object data)
Accept the visitor.
Overrides:
jjtAccept in class SimpleNode

init

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

execute

public java.lang.Object execute(java.lang.Object o,
                                InternalContextAdapter context)
                         throws MethodInvocationException
invokes the method on the object passed in
Overrides:
execute in class SimpleNode


Copyright © 2002 Apache Software Foundation. All Rights Reserved.