Class ASTSetDirective
- java.lang.Object
-
- org.apache.velocity.runtime.parser.node.SimpleNode
-
- org.apache.velocity.runtime.parser.node.ASTSetDirective
-
- All Implemented Interfaces:
java.lang.Cloneable,Node,Renderable
public class ASTSetDirective extends SimpleNode
Node for the #set directive- Version:
- $Id$
-
-
Field Summary
Fields Modifier and Type Field Description private booleanisInitializedprivate ASTReferenceleftprivate java.lang.StringleftReferenceprivate java.lang.StringmorePrefixprivate java.lang.Stringpostfixprivate java.lang.Stringprefixprivate Noderightprotected booleanstrictRefIndicates if we are running in strict reference mode.protected InfouberInfoThis is really immutable after the init, so keep one for this node
-
Constructor Summary
Constructors Constructor Description ASTSetDirective(int id)ASTSetDirective(Parser p, int id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private ASTReferencegetLeftHandSide()returns the ASTReference that is the LHS of the set statementjava.lang.StringgetPostfix()get indentation postfixjava.lang.StringgetPrefix()get indentation prefixprivate NodegetRightHandSide()returns the RHS Node of the set statementjava.lang.Objectinit(InternalContextAdapter context, java.lang.Object data)simple init.java.lang.ObjectjjtAccept(StandardParserVisitor visitor, java.lang.Object data)java.lang.Stringliteral()Returns the string "#set($reference = ...)".booleanrender(InternalContextAdapter context, java.io.Writer writer)puts the value of the RHS into the context under the key of the LHSvoidsetPostfix(java.lang.String postfix)set indentation postfixvoidsetPrefix(java.lang.String prefix)set indentation prefix-
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, toString, value
-
-
-
-
Field Detail
-
leftReference
private java.lang.String leftReference
-
right
private Node right
-
left
private ASTReference left
-
isInitialized
private boolean isInitialized
-
prefix
private java.lang.String prefix
-
postfix
private java.lang.String postfix
-
morePrefix
private java.lang.String morePrefix
-
uberInfo
protected Info uberInfo
This is really immutable after the init, so keep one for this node
-
strictRef
protected boolean strictRef
Indicates if we are running in strict reference mode.
-
-
Constructor Detail
-
ASTSetDirective
public ASTSetDirective(int id)
- Parameters:
id-
-
ASTSetDirective
public ASTSetDirective(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
simple init. We can get the RHS and LHS as the the tree structure is static- Specified by:
initin interfaceNode- Overrides:
initin classSimpleNode- Parameters:
context-data-- Returns:
- Init result.
- Throws:
TemplateInitException- See Also:
Node.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
-
render
public boolean render(InternalContextAdapter context, java.io.Writer writer) throws java.io.IOException, MethodInvocationException
puts the value of the RHS into the context under the key of the LHS- Specified by:
renderin interfaceNode- Specified by:
renderin interfaceRenderable- Overrides:
renderin classSimpleNode- Parameters:
context-writer-- Returns:
- True if rendering was sucessful.
- Throws:
java.io.IOExceptionMethodInvocationException- See Also:
Node.render(org.apache.velocity.context.InternalContextAdapter, java.io.Writer)
-
literal
public java.lang.String literal()
Returns the string "#set($reference = ...)". RHS is 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()
-
getLeftHandSide
private ASTReference getLeftHandSide()
returns the ASTReference that is the LHS of the set statement- Returns:
- left hand side of #set statement
-
getRightHandSide
private Node getRightHandSide()
returns the RHS Node of the set statement- Returns:
- right hand side of #set statement
-
-