Class ASTSetDirective
java.lang.Object
org.apache.velocity.runtime.parser.node.SimpleNode
org.apache.velocity.runtime.parser.node.ASTSetDirective
- All Implemented Interfaces:
Node,Renderable
Node for the #set directive
- Version:
- $Id$
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate ASTReferencereturns the ASTReference that is the LHS of the set statementget indentation postfixget indentation prefixprivate Nodereturns the RHS Node of the set statementinit(InternalContextAdapter context, Object data) simple init.jjtAccept(ParserVisitor visitor, Object data) literal()Returns the string "#set($reference = ...)".booleanrender(InternalContextAdapter context, Writer writer) puts the value of the RHS into the context under the key of the LHSvoidsetPostfix(String postfix) set indentation postfixvoidset indentation prefixMethods 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 Details
-
leftReference
-
right
-
left
-
isInitialized
private boolean isInitialized -
prefix
-
postfix
-
morePrefix
-
uberInfo
This is really immutable after the init, so keep one for this node -
strictRef
protected boolean strictRefIndicates if we are running in strict reference mode.
-
-
Constructor Details
-
ASTSetDirective
public ASTSetDirective(int id) - Parameters:
id-
-
ASTSetDirective
- Parameters:
p-id-
-
-
Method Details
-
jjtAccept
- Specified by:
jjtAcceptin interfaceNode- Overrides:
jjtAcceptin classSimpleNode- Parameters:
visitor-data-- Returns:
- The Node execution result object.
- See Also:
-
init
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:
-
setPrefix
set indentation prefix- Parameters:
prefix-
-
getPrefix
get indentation prefix- Returns:
- indentation prefix
-
setPostfix
set indentation postfix- Parameters:
postfix-
-
getPostfix
get indentation postfix- Returns:
- indentation prefix
-
render
public boolean render(InternalContextAdapter context, Writer writer) throws 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:
IOExceptionMethodInvocationException- See Also:
-
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:
-
getLeftHandSide
returns the ASTReference that is the LHS of the set statement- Returns:
- left hand side of #set statement
-
getRightHandSide
returns the RHS Node of the set statement- Returns:
- right hand side of #set statement
-