Class ASTSetDirective
- java.lang.Object
-
- org.apache.velocity.runtime.parser.node.SimpleNode
-
- org.apache.velocity.runtime.parser.node.ASTSetDirective
-
- All Implemented Interfaces:
Node
,Renderable
public class ASTSetDirective extends SimpleNode
Node for the #set directive- Version:
- $Id$
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
isInitialized
private ASTReference
left
private java.lang.String
leftReference
private java.lang.String
morePrefix
private java.lang.String
postfix
private java.lang.String
prefix
private Node
right
protected boolean
strictRef
Indicates if we are running in strict reference mode.protected Info
uberInfo
This 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 ASTReference
getLeftHandSide()
returns the ASTReference that is the LHS of the set statementjava.lang.String
getPostfix()
get indentation postfixjava.lang.String
getPrefix()
get indentation prefixprivate Node
getRightHandSide()
returns the RHS Node of the set statementjava.lang.Object
init(InternalContextAdapter context, java.lang.Object data)
simple init.java.lang.Object
jjtAccept(ParserVisitor visitor, java.lang.Object data)
java.lang.String
literal()
Returns the string "#set($reference = ...)".boolean
render(InternalContextAdapter context, java.io.Writer writer)
puts the value of the RHS into the context under the key of the LHSvoid
setPostfix(java.lang.String postfix)
set indentation postfixvoid
setPrefix(java.lang.String prefix)
set indentation prefix-
Methods inherited from class org.apache.velocity.runtime.parser.node.SimpleNode
childrenAccept, cleanupParserAndTokens, 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(ParserVisitor visitor, java.lang.Object data)
- Specified by:
jjtAccept
in interfaceNode
- Overrides:
jjtAccept
in classSimpleNode
- Returns:
- The Node execution result object.
- See Also:
SimpleNode.jjtAccept(org.apache.velocity.runtime.parser.node.ParserVisitor, 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:
init
in interfaceNode
- Overrides:
init
in 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:
render
in interfaceNode
- Specified by:
render
in interfaceRenderable
- Overrides:
render
in classSimpleNode
- Parameters:
context
-writer
-- Returns:
- True if rendering was sucessful.
- Throws:
java.io.IOException
MethodInvocationException
- 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:
literal
in interfaceNode
- Overrides:
literal
in 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
-
-