Modifier and Type | Method and Description |
---|---|
static String |
EventHandlerUtil.includeEvent(RuntimeServices rsvc,
InternalContextAdapter context,
String includeResourcePath,
String currentResourcePath,
String directiveName)
Called when an include-type directive is encountered (#include or
#parse).
|
static Object |
EventHandlerUtil.invalidGetMethod(RuntimeServices rsvc,
InternalContextAdapter context,
String reference,
Object object,
String property,
Info info)
Called when an invalid get method is encountered.
|
static Object |
EventHandlerUtil.invalidMethod(RuntimeServices rsvc,
InternalContextAdapter context,
String reference,
Object object,
String method,
Info info)
Called when an invalid method is encountered.
|
static void |
EventHandlerUtil.invalidSetMethod(RuntimeServices rsvc,
InternalContextAdapter context,
String leftreference,
String rightreference,
Info info)
Called when an invalid set method is encountered.
|
static Object |
EventHandlerUtil.methodException(RuntimeServices rsvc,
InternalContextAdapter context,
Class claz,
String method,
Exception e,
Info info)
Called when a method exception is generated during Velocity merge.
|
Object |
EventCartridge.referenceInsert(InternalContextAdapter context,
String reference,
Object value)
Call reference insertion handlers
|
static Object |
EventHandlerUtil.referenceInsert(RuntimeServices rsvc,
InternalContextAdapter context,
String reference,
Object value)
Called before a reference is inserted.
|
Modifier and Type | Class and Description |
---|---|
class |
ChainedInternalContextAdapter
This is an abstract internal-use-only context implementation to be
used as a subclass for other internal-use-only contexts that wrap
other internal-use-only contexts.
|
class |
InternalContextAdapterImpl
This adapter class is the container for all context types for internal
use.
|
Modifier and Type | Field and Description |
---|---|
protected InternalContextAdapter |
ChainedInternalContextAdapter.wrappedContext
the parent context
|
Modifier and Type | Method and Description |
---|---|
InternalContextAdapter |
InternalContextAdapterImpl.getBaseContext()
Returns the base context that we are
wrapping.
|
InternalContextAdapter |
ChainedInternalContextAdapter.getBaseContext() |
InternalContextAdapter |
InternalWrapperContext.getBaseContext()
Returns the base full context impl.
|
Constructor and Description |
---|
ChainedInternalContextAdapter(InternalContextAdapter inner)
CTOR, wraps an ICA
|
Modifier and Type | Method and Description |
---|---|
boolean |
Renderable.render(InternalContextAdapter context,
Writer writer) |
Modifier and Type | Method and Description |
---|---|
protected void |
VelocimacroProxy.checkDepth(InternalContextAdapter context)
check that we aren't already at the max call depth and throws
a MacroOverflowException if we are there.
|
protected void |
Foreach.clean(InternalContextAdapter context,
Object o) |
protected String |
InputBase.getInputEncoding(InternalContextAdapter context)
Decides the encoding used during input processing of this
directive.
|
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.
|
protected String |
Block.id(InternalContextAdapter context)
Creates a string identifying the source and location of the block
definition, and the current template being rendered if that is
different.
|
void |
Macro.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Directive.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
How this directive is to be initialized.
|
void |
Break.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Parse.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
Init's the #parse directive.
|
void |
Foreach.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - init the tree and get the elementKey from
the AST
|
void |
Include.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 |
Block.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - get the key
|
void |
Stop.init(RuntimeServices rs,
InternalContextAdapter context,
Node node) |
void |
Define.init(RuntimeServices rs,
InternalContextAdapter context,
Node node)
simple init - get the key
|
void |
BlockMacro.init(RuntimeServices rs,
String macroName,
InternalContextAdapter context,
Node node)
Initializes the directive.
|
void |
RuntimeMacro.init(RuntimeServices rs,
String name,
InternalContextAdapter context,
Node node)
Initialize the Runtime macro.
|
protected void |
Directive.postRender(InternalContextAdapter context)
This cleans up any scope control for this directive after rendering,
assuming the scope control was turned on.
|
protected void |
Directive.preRender(InternalContextAdapter context)
This creates and places the scope control for this directive
into the context (if scope provision is turned on).
|
protected void |
Foreach.put(InternalContextAdapter context,
String key,
Object value)
Extension hook to allow subclasses to control whether loop vars
are set locally or not.
|
boolean |
Block.render(InternalContextAdapter context,
Writer writer)
renders block directive
|
boolean |
Block.Reference.render(InternalContextAdapter context,
Writer writer)
Render the AST of this block into the writer using the context.
|
boolean |
Macro.render(InternalContextAdapter context,
Writer writer,
Node node)
render() doesn't do anything in the final output rendering.
|
abstract boolean |
Directive.render(InternalContextAdapter context,
Writer writer,
Node node)
How this directive is to be rendered
|
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 |
Parse.render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
boolean |
VelocimacroProxy.render(InternalContextAdapter context,
Writer writer,
Node node)
Render the macro AST node
|
boolean |
Foreach.render(InternalContextAdapter context,
Writer writer,
Node node)
renders the #foreach() block
|
boolean |
Include.render(InternalContextAdapter context,
Writer writer,
Node node)
iterates through the argument list and renders every
argument that is appropriate.
|
boolean |
Evaluate.render(InternalContextAdapter context,
Writer writer,
Node node)
Evaluate the argument, convert to a String, and evaluate again
(with the same context).
|
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 |
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 |
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) |
Constructor and Description |
---|
Reference(InternalContextAdapter context,
Block parent) |
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 | Method and Description |
---|---|
static Object |
ASTIndex.adjMinusIndexArg(Object argument,
Object o,
InternalContextAdapter context,
SimpleNode node)
If argument is an Integer and negative, then return (o.size() - argument).
|
boolean |
ASTTrue.evaluate(InternalContextAdapter context) |
boolean |
ASTComparisonNode.evaluate(InternalContextAdapter context) |
boolean |
ASTNENode.evaluate(InternalContextAdapter context) |
boolean |
ASTNotNode.evaluate(InternalContextAdapter context) |
boolean |
ASTOrNode.evaluate(InternalContextAdapter context)
the logical or :
|
boolean |
ASTMap.evaluate(InternalContextAdapter context) |
boolean |
SimpleNode.evaluate(InternalContextAdapter context) |
boolean |
ASTStringLiteral.evaluate(InternalContextAdapter context) |
boolean |
ASTReference.evaluate(InternalContextAdapter context)
Computes boolean value of this reference
Returns the actual value of reference return type
boolean, and 'true' if value is not null
|
boolean |
Node.evaluate(InternalContextAdapter context) |
boolean |
ASTIntegerLiteral.evaluate(InternalContextAdapter context) |
boolean |
ASTFloatingPointLiteral.evaluate(InternalContextAdapter context) |
boolean |
ASTElseIfStatement.evaluate(InternalContextAdapter context)
An ASTElseStatement is true if the expression
it contains evaluates to true.
|
boolean |
ASTFalse.evaluate(InternalContextAdapter context) |
boolean |
ASTAndNode.evaluate(InternalContextAdapter context)
logical and :
|
boolean |
ASTElseStatement.evaluate(InternalContextAdapter context)
An ASTElseStatement always evaluates to
true.
|
boolean |
ASTNegateNode.evaluate(InternalContextAdapter context) |
boolean |
ASTExpression.evaluate(InternalContextAdapter context) |
boolean |
ASTObjectArray.evaluate(InternalContextAdapter context) |
Object |
SimpleNode.execute(Object o,
InternalContextAdapter context) |
Object |
ASTIdentifier.execute(Object o,
InternalContextAdapter context) |
Object |
ASTReference.execute(Object o,
InternalContextAdapter context)
gets an Object that 'is' the value of the reference
|
Object |
Node.execute(Object o,
InternalContextAdapter context) |
Object |
ASTMethod.execute(Object o,
InternalContextAdapter context)
invokes the method.
|
Object |
ASTIndex.execute(Object o,
InternalContextAdapter context) |
protected String |
SimpleNode.getLocation(InternalContextAdapter context)
Return a string that tells the current location of this node.
|
Object |
ASTReference.getRootVariableValue(InternalContextAdapter context) |
protected Object |
ASTMathNode.handleSpecial(Object left,
Object right,
InternalContextAdapter context)
Extension hook to allow special behavior by subclasses
If this method returns a non-null value, that is returned,
rather than the result of the math operation.
|
protected Object |
ASTAddNode.handleSpecial(Object left,
Object right,
InternalContextAdapter context) |
Object |
ASTMathNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTModNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTIfStatement.init(InternalContextAdapter context,
Object data) |
Object |
ASTMulNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTBinaryOperator.init(InternalContextAdapter context,
Object data) |
Object |
ASTVariable.init(InternalContextAdapter context,
Object data) |
Object |
ASTTrue.init(InternalContextAdapter context,
Object data) |
Object |
ASTBlock.init(InternalContextAdapter context,
Object data) |
Object |
ASTNotNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTMap.init(InternalContextAdapter context,
Object data) |
Object |
SimpleNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTEscapedDirective.init(InternalContextAdapter context,
Object data) |
Object |
ASTTextblock.init(InternalContextAdapter context,
Object data) |
Object |
ASTIncludeStatement.init(InternalContextAdapter context,
Object data) |
Object |
ASTIdentifier.init(InternalContextAdapter context,
Object data)
simple init - don't do anything that is context specific.
|
Object |
ASTprocess.init(InternalContextAdapter context,
Object data) |
Object |
ASTStringLiteral.init(InternalContextAdapter context,
Object data)
init : we don't have to do much.
|
Object |
ASTComment.init(InternalContextAdapter context,
Object data)
We need to make sure we catch any of the dreaded MORE tokens.
|
Object |
ASTSetDirective.init(InternalContextAdapter context,
Object data)
simple init.
|
Object |
ASTLogicalOperator.init(InternalContextAdapter context,
Object data) |
Object |
ASTEscape.init(InternalContextAdapter context,
Object data) |
Object |
ASTAssignment.init(InternalContextAdapter context,
Object data) |
Object |
ASTReference.init(InternalContextAdapter context,
Object data) |
Object |
Node.init(InternalContextAdapter context,
Object data) |
Object |
ASTIntegerLiteral.init(InternalContextAdapter context,
Object data) |
Object |
ASTMethod.init(InternalContextAdapter context,
Object data)
simple init - init our subtree and get what we can from
the AST
|
Object |
ASTIntegerRange.init(InternalContextAdapter context,
Object data) |
Object |
ASTDirective.init(InternalContextAdapter context,
Object data) |
Object |
ASTDirectiveAssign.init(InternalContextAdapter context,
Object data) |
Object |
ASTFloatingPointLiteral.init(InternalContextAdapter context,
Object data)
Initialization method - doesn't do much but do the object
creation.
|
Object |
ASTElseIfStatement.init(InternalContextAdapter context,
Object data) |
Object |
ASTFalse.init(InternalContextAdapter context,
Object data) |
Object |
ASTIndex.init(InternalContextAdapter context,
Object data) |
Object |
ASTText.init(InternalContextAdapter context,
Object data) |
Object |
ASTWord.init(InternalContextAdapter context,
Object data) |
Object |
ASTElseStatement.init(InternalContextAdapter context,
Object data) |
Object |
ASTNegateNode.init(InternalContextAdapter context,
Object data) |
Object |
ASTExpression.init(InternalContextAdapter context,
Object data) |
Object |
ASTObjectArray.init(InternalContextAdapter context,
Object data) |
abstract Number |
ASTMathNode.perform(Number left,
Number right,
InternalContextAdapter context)
Performs the math operation represented by this node.
|
Number |
ASTModNode.perform(Number left,
Number right,
InternalContextAdapter context) |
Number |
ASTMulNode.perform(Number left,
Number right,
InternalContextAdapter context) |
Number |
ASTSubtractNode.perform(Number left,
Number right,
InternalContextAdapter context) |
Number |
ASTAddNode.perform(Number left,
Number right,
InternalContextAdapter context) |
Number |
ASTDivNode.perform(Number left,
Number right,
InternalContextAdapter context) |
void |
ASTIfStatement.process(InternalContextAdapter context,
ParserVisitor visitor) |
boolean |
ASTIfStatement.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTBlock.render(InternalContextAdapter context,
Writer writer) |
boolean |
SimpleNode.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTEscapedDirective.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTTextblock.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTComment.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTSetDirective.render(InternalContextAdapter context,
Writer writer)
puts the value of the RHS into the context under the key of the LHS
|
boolean |
ASTEscape.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTReference.render(InternalContextAdapter context,
Writer writer)
gets the value of the reference and outputs it to the
writer.
|
boolean |
Node.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTDirective.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTElseIfStatement.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTText.render(InternalContextAdapter context,
Writer writer) |
boolean |
ASTReference.setValue(InternalContextAdapter context,
Object value)
Sets the value of a complex reference (something like $foo.bar)
Currently used by ASTSetReference()
|
Object |
ASTMathNode.value(InternalContextAdapter context)
gets the two args and performs the operation on them
|
Object |
ASTTrue.value(InternalContextAdapter context) |
Object |
ASTComparisonNode.value(InternalContextAdapter context) |
Object |
ASTNotNode.value(InternalContextAdapter context) |
Object |
ASTOrNode.value(InternalContextAdapter context)
Returns the value of the expression.
|
Object |
ASTMap.value(InternalContextAdapter context) |
Object |
SimpleNode.value(InternalContextAdapter context) |
Object |
ASTStringLiteral.value(InternalContextAdapter context)
renders the value of the string literal If the properties allow, and the
string literal contains a $ or a # the literal is rendered against the
context Otherwise, the stringlit is returned.
|
Object |
ASTReference.value(InternalContextAdapter context) |
Object |
Node.value(InternalContextAdapter context) |
Object |
ASTIntegerLiteral.value(InternalContextAdapter context) |
Object |
ASTIntegerRange.value(InternalContextAdapter context)
does the real work.
|
Object |
ASTFloatingPointLiteral.value(InternalContextAdapter context) |
Object |
ASTFalse.value(InternalContextAdapter context) |
Object |
ASTAndNode.value(InternalContextAdapter context)
Returns the value of the expression.
|
Object |
ASTNegateNode.value(InternalContextAdapter context) |
Object |
ASTExpression.value(InternalContextAdapter context) |
Object |
ASTObjectArray.value(InternalContextAdapter context) |
Modifier and Type | Field and Description |
---|---|
protected InternalContextAdapter |
BaseVisitor.context
Context used during traversal
|
Modifier and Type | Method and Description |
---|---|
void |
BaseVisitor.setContext(InternalContextAdapter context) |
Modifier and Type | Method and Description |
---|---|
static VelMethod |
ClassUtils.getMethod(String methodName,
Object[] params,
Class[] paramClasses,
Object o,
InternalContextAdapter context,
SimpleNode node,
boolean strictRef)
Lookup a VelMethod object given the method signature that is specified in
the passed in parameters.
|
Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.