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

java.lang.Object
  extended by org.apache.velocity.runtime.parser.node.SimpleNode
      extended by org.apache.velocity.runtime.parser.node.ASTDirective
All Implemented Interfaces:
Node, Renderable

public class ASTDirective
extends SimpleNode

This class is responsible for handling the pluggable directives in VTL. For example : #foreach() Please look at the Parser.jjt file which is what controls the generation of this class.

Version:
$Id: ASTDirective.java 1040976 2010-12-01 12:15:39Z apetrelli $
Author:
Jason van Zyl, Geir Magnusson Jr., Kasper Nielsen

Field Summary
 
Fields inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
children, first, id, info, invalid, last, log, parent, parser, rsvc, state, templateName
 
Constructor Summary
ASTDirective(int id)
           
ASTDirective(Parser p, int id)
           
 
Method Summary
 String getDirectiveName()
          Gets the name of this directive.
 Object init(InternalContextAdapter context, Object data)
           
 Object jjtAccept(ParserVisitor visitor, Object data)
           
 boolean render(InternalContextAdapter context, Writer writer)
           
 void setDirectiveName(String str)
          Sets the directive name.
 String toString()
           
 
Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
childrenAccept, dump, evaluate, execute, getColumn, getFirstToken, getInfo, getLastToken, getLine, getLocation, getRuntimeServices, getTemplateName, getType, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, literal, setFirstToken, setInfo, setInvalid, toString, value
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ASTDirective

public ASTDirective(int id)
Parameters:
id -

ASTDirective

public ASTDirective(Parser p,
                    int id)
Parameters:
p -
id -
Method Detail

jjtAccept

public Object jjtAccept(ParserVisitor visitor,
                        Object data)
Specified by:
jjtAccept in interface Node
Overrides:
jjtAccept in class SimpleNode
Returns:
The Node execution result object.
See Also:
SimpleNode.jjtAccept(org.apache.velocity.runtime.parser.node.ParserVisitor, java.lang.Object)

init

public Object init(InternalContextAdapter context,
                   Object data)
            throws TemplateInitException
Specified by:
init in interface Node
Overrides:
init in class SimpleNode
Returns:
The init result.
Throws:
TemplateInitException
See Also:
SimpleNode.init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object)

render

public boolean render(InternalContextAdapter context,
                      Writer writer)
               throws IOException,
                      MethodInvocationException,
                      ResourceNotFoundException,
                      ParseErrorException
Specified by:
render in interface Node
Specified by:
render in interface Renderable
Overrides:
render in class SimpleNode
Returns:
True if the node rendered successfully.
Throws:
IOException
MethodInvocationException
ResourceNotFoundException
ParseErrorException
See Also:
SimpleNode.render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)

setDirectiveName

public void setDirectiveName(String str)
Sets the directive name. Used by the parser. This keeps us from having to dig it out of the token stream and gives the parse the change to override.

Parameters:
str -

getDirectiveName

public String getDirectiveName()
Gets the name of this directive.

Returns:
The name of this directive.

toString

public String toString()
Overrides:
toString in class SimpleNode


Copyright © 2000-2012 The Apache Software Foundation. All Rights Reserved.