Modifier and Type | Method and Description |
---|---|
boolean |
VelocimacroFactory.addVelocimacro(String name,
Node macroBody,
List<Macro.MacroArg> macroArgs,
Template definingTemplate)
Adds a macro to the factory.
|
static boolean |
RuntimeSingleton.addVelocimacro(String name,
Node macro,
List<Macro.MacroArg> macroArgs,
Template definingTemplate)
Adds a new Velocimacro.
|
boolean |
RuntimeServices.addVelocimacro(String name,
Node macro,
List<Macro.MacroArg> macroArgs,
Template definingTemplate)
Adds a new Velocimacro.
|
boolean |
RuntimeInstance.addVelocimacro(String name,
Node macro,
List<Macro.MacroArg> macroArgs,
Template definingTemplate)
Adds a new Velocimacro.
|
boolean |
VelocimacroManager.addVM(String vmName,
Node macroBody,
List<Macro.MacroArg> macroArgs,
Template definingTemplate,
boolean canReplaceGlobalMacro)
Adds a VM definition to the cache.
|
Modifier and Type | Field and Description |
---|---|
protected Node |
Block.block |
Node |
Macro.MacroArg.defaultVal
If the argument was given a default value, then this contains
the base of the AST tree of the value.
|
Modifier and Type | Method and Description |
---|---|
protected void |
VelocimacroProxy.checkArgumentCount(Node node,
int callArgNum)
Check whether the number of arguments given matches the number defined.
|
protected Iterator |
Foreach.getIterator(Object iterable,
Node node)
Retrieve the contextual iterator.
|
protected Object[] |
VelocimacroProxy.handleArgValues(InternalContextAdapter context,
Node node,
int callArgNum)
Gets the macro argument values and puts them in the context under
the argument names.
|
void |
Stop.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Parse.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Init's the #parse directive.
|
void |
Macro.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Include.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - init the tree and get the elementKey from
the AST
|
void |
Foreach.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - init the tree and get the elementKey from
the AST
|
void |
Evaluate.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Initialize and check arguments.
|
void |
Directive.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
How this directive is to be initialized.
|
void |
Define.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - get the key
|
void |
Break.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Block.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - get the key
|
void |
RuntimeMacro.init(RuntimeServices rs,
String name,
InternalContextAdapter context,
Node node)
Initialize the Runtime macro.
|
void |
BlockMacro.init(RuntimeServices rs,
String macroName,
InternalContextAdapter context,
Node node)
Initializes the directive.
|
boolean |
VelocimacroProxy.render(InternalContextAdapter context,
Writer writer,
Node node)
Render the macro AST node
|
boolean |
Stop.render(InternalContextAdapter context,
Writer writer,
Node node) |
boolean |
RuntimeMacro.render(InternalContextAdapter context,
Writer writer,
Node node)
Velocimacro implementation is not known at the init time.
|
boolean |
Parse.render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
boolean |
Macro.render(InternalContextAdapter context,
Writer writer,
Node node)
render() doesn't do anything in the final output rendering.
|
boolean |
Include.render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
boolean |
Foreach.render(InternalContextAdapter context,
Writer writer,
Node node)
renders the #foreach() block
|
boolean |
Evaluate.render(InternalContextAdapter context,
Writer writer,
Node node)
Evaluate the argument, convert to a String, and evaluate again
(with the same context).
|
abstract boolean |
Directive.render(InternalContextAdapter context,
Writer writer,
Node node)
How this directive is to be rendered
|
boolean |
Define.render(InternalContextAdapter context,
Writer writer,
Node node)
directive.render() simply makes an instance of the Block inner class
and places it into the context as indicated.
|
boolean |
Break.render(InternalContextAdapter context,
Writer writer,
Node node)
This directive throws a StopCommand which signals either
the nearest Scope or the specified scope to stop rendering
its content.
|
boolean |
BlockMacro.render(InternalContextAdapter context,
Writer writer,
Node node)
Renders content using the selected macro and the passed AST body.
|
boolean |
VelocimacroProxy.render(InternalContextAdapter context,
Writer writer,
Node node,
Renderable body)
Renders the macro using the context.
|
boolean |
RuntimeMacro.render(InternalContextAdapter context,
Writer writer,
Node node,
Renderable body)
This method is used with BlockMacro when we want to render a macro with a body AST.
|
protected void |
Foreach.renderBlock(InternalContextAdapter context,
Writer writer,
Node block) |
Modifier and Type | Method and Description |
---|---|
void |
For.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
boolean |
For.render(InternalContextAdapter context,
Writer writer,
Node node) |
protected void |
For.renderBlock(InternalContextAdapter context,
Writer writer,
Node node) |
Modifier and Type | Class and Description |
---|---|
class |
ASTAddNode
Handles number addition of nodes.
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTAndNode
Please look at the Parser.jjt file which is
what controls the generation of this class.
|
class |
ASTAssignment |
class |
ASTBinaryOperator |
class |
ASTBlock |
class |
ASTComment
Represents all comments...
|
class |
ASTComparisonNode
Numeric comparison support
|
class |
ASTDirective
This class is responsible for handling the pluggable
directives in VTL.
|
class |
ASTDirectiveAssign |
class |
ASTDivNode
Handles number division of nodes
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTElseIfStatement
This class is responsible for handling the ElseIf VTL control statement.
|
class |
ASTElseStatement
This class is responsible for handling the Else VTL control statement.
|
class |
ASTEQNode
Handles
arg1 == arg2
This operator requires that the LHS and RHS are both of the
same Class, both numbers or both coerce-able to strings. |
class |
ASTEscape
This class is responsible for handling Escapes
in VTL.
|
class |
ASTEscapedDirective
This class is responsible for handling EscapedDirectives
in VTL.
|
class |
ASTExpression |
class |
ASTFalse |
class |
ASTFloatingPointLiteral
Handles floating point numbers.
|
class |
ASTGENode
Handles arg1 >= arg2
|
class |
ASTGTNode
Handles arg1 > arg2
|
class |
ASTIdentifier
ASTIdentifier.java
Method support for identifiers : $foo
mainly used by ASTReference
Introspection is now moved to 'just in time' or at render / execution
time.
|
class |
ASTIfStatement
Please look at the Parser.jjt file which is
what controls the generation of this class.
|
class |
ASTIncludeStatement |
class |
ASTIndex
This node is responsible for the bracket notation at the end of
a reference, e.g., $foo[1]
|
class |
ASTIntegerLiteral
Handles integer numbers.
|
class |
ASTIntegerRange
handles the range 'operator' [ n ..
|
class |
ASTLENode
Handles arg1 <= arg2
|
class |
ASTLogicalOperator |
class |
ASTLTNode
Handles arg1 < arg2
|
class |
ASTMap
AST Node for creating a map / dictionary.
|
class |
ASTMathNode
Helps handle math
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTMethod
ASTMethod.java
Method support for references : $foo.method()
NOTE :
introspection is now done at render time.
|
class |
ASTModNode
Handles modulus division
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTMulNode
Handles multiplication
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTNegateNode |
class |
ASTNENode
Handles
arg1 != arg2 by negating evaluation of ASTEQNode |
class |
ASTNotNode |
class |
ASTObjectArray |
class |
ASTOrNode
Please look at the Parser.jjt file which is
what controls the generation of this class.
|
class |
ASTParameters |
class |
ASTprocess |
class |
ASTReference
This class is responsible for handling the references in
VTL ($foo).
|
class |
ASTSetDirective
Node for the #set directive
|
class |
ASTStringLiteral
ASTStringLiteral support.
|
class |
ASTSubtractNode
Handles subtraction of nodes (in #set() )
Please look at the Parser.jjt file which is what controls the generation of this class. |
class |
ASTText |
class |
ASTTextblock
This node holds the "Textblock" data which should not be interpreted by Velocity.
|
class |
ASTTrue |
class |
ASTVariable |
class |
ASTWord |
class |
SimpleNode |
Modifier and Type | Field and Description |
---|---|
protected Node[] |
SimpleNode.children |
protected Node |
SimpleNode.parent |
Modifier and Type | Method and Description |
---|---|
Node |
SimpleNode.jjtGetChild(int i) |
Node |
Node.jjtGetChild(int i)
This method returns a child node.
|
Node |
SimpleNode.jjtGetParent() |
Node |
Node.jjtGetParent() |
Node |
JJTStandardParserState.peekNode() |
Node |
JJTStandardParserState.popNode() |
Node |
JJTStandardParserState.rootNode() |
Modifier and Type | Method and Description |
---|---|
void |
ASTStringLiteral.adjTokenLineNums(Node node)
Adjust all the line and column numbers that comprise a node so that they
are corrected for the string literals position within the template file.
|
void |
JJTStandardParserState.clearNodeScope(Node n) |
void |
JJTStandardParserState.closeNodeScope(Node n,
boolean condition) |
void |
JJTStandardParserState.closeNodeScope(Node n,
int num) |
void |
SimpleNode.jjtAddChild(Node n,
int i) |
void |
Node.jjtAddChild(Node n,
int i)
This method tells the node to add its argument to the node's
list of children.
|
void |
SimpleNode.jjtSetParent(Node n) |
void |
Node.jjtSetParent(Node n)
This pair of methods are used to inform the node of its
parent.
|
void |
JJTStandardParserState.openNodeScope(Node n) |
void |
JJTStandardParserState.pushNode(Node n) |
Modifier and Type | Method and Description |
---|---|
static String |
StringUtils.formatFileString(Node node)
Creates a string that formats the template filename with line number
and column of the given Node.
|
Constructor and Description |
---|
Info(Node node) |
Copyright © 2000–2021 The Apache Software Foundation. All rights reserved.