Class ASTDirective
- java.lang.Object
-
- org.apache.velocity.runtime.parser.node.SimpleNode
-
- org.apache.velocity.runtime.parser.node.ASTDirective
-
- All Implemented Interfaces:
java.lang.Cloneable,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$
- Author:
- Jason van Zyl, Geir Magnusson Jr., Kasper Nielsen
-
-
Constructor Summary
Constructors Constructor Description ASTDirective(int id)ASTDirective(Parser p, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetDirectiveName()Gets the name of this directive.intgetDirectiveType()java.lang.StringgetMorePrefix()more prefix getterjava.lang.StringgetPostfix()get indentation postfixjava.lang.StringgetPrefix()get indentation prefixjava.lang.Objectinit(InternalContextAdapter context, java.lang.Object data)java.lang.ObjectjjtAccept(StandardParserVisitor visitor, java.lang.Object data)java.lang.Stringliteral()Returns the string "#directive_name(...)".booleanrender(InternalContextAdapter context, java.io.Writer writer)voidsetDirectiveName(java.lang.String str)Sets the directive name.voidsetPostfix(java.lang.String postfix)set indentation postfixvoidsetPrefix(java.lang.String prefix)set indentation prefixjava.lang.StringtoString()-
Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
childrenAccept, cleanupParserAndTokens, clone, clone, dump, dump, dump, evaluate, execute, getColumn, getFirstToken, getFirstTokenImage, getInfo, getLastToken, getLastTokenImage, getLine, getLocation, getParser, getRuntimeServices, getTemplate, getTemplateName, getType, isInvalid, jjtAddChild, jjtClose, jjtGetChild, jjtGetNumChildren, jjtGetParent, jjtOpen, jjtSetParent, saveTokenImages, setFirstToken, setInfo, setInvalid, toString, value
-
-
-
-
Constructor Detail
-
ASTDirective
public ASTDirective(int id)
- Parameters:
id-
-
ASTDirective
public ASTDirective(Parser p, int id)
- Parameters:
p-id-
-
-
Method Detail
-
jjtAccept
public java.lang.Object jjtAccept(StandardParserVisitor visitor, java.lang.Object data)
- Specified by:
jjtAcceptin interfaceNode- Overrides:
jjtAcceptin classSimpleNode- Returns:
- The Node execution result object.
- See Also:
SimpleNode.jjtAccept(org.apache.velocity.runtime.parser.node.StandardParserVisitor, java.lang.Object)
-
init
public java.lang.Object init(InternalContextAdapter context, java.lang.Object data) throws TemplateInitException
- Specified by:
initin interfaceNode- Overrides:
initin classSimpleNode- Returns:
- The init result.
- Throws:
TemplateInitException- See Also:
SimpleNode.init(org.apache.velocity.context.InternalContextAdapter, java.lang.Object)
-
setPrefix
public void setPrefix(java.lang.String prefix)
set indentation prefix- Parameters:
prefix-
-
getPrefix
public java.lang.String getPrefix()
get indentation prefix- Returns:
- indentation prefix
-
setPostfix
public void setPostfix(java.lang.String postfix)
set indentation postfix- Parameters:
postfix-
-
getPostfix
public java.lang.String getPostfix()
get indentation postfix- Returns:
- indentation prefix
-
getMorePrefix
public java.lang.String getMorePrefix()
more prefix getter- Returns:
- more prefix
-
getDirectiveType
public int getDirectiveType()
-
render
public boolean render(InternalContextAdapter context, java.io.Writer writer) throws java.io.IOException, MethodInvocationException, ResourceNotFoundException, ParseErrorException
- Specified by:
renderin interfaceNode- Specified by:
renderin interfaceRenderable- Overrides:
renderin classSimpleNode- Returns:
- True if the node rendered successfully.
- Throws:
java.io.IOExceptionMethodInvocationExceptionResourceNotFoundExceptionParseErrorException- See Also:
SimpleNode.render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)
-
setDirectiveName
public void setDirectiveName(java.lang.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 java.lang.String getDirectiveName()
Gets the name of this directive.- Returns:
- The name of this directive.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classSimpleNode
-
literal
public java.lang.String literal()
Returns the string "#directive_name(...)". Arguments literals are not rendered. This method is only used for displaying the VTL stacktrace when a rendering error is encountered when runtime.log.track_location is true.- Specified by:
literalin interfaceNode- Overrides:
literalin classSimpleNode- Returns:
- See Also:
Node.literal()
-
-