Package org.apache.commons.jexl2
Class UnifiedJEXL.TemplateContext
- java.lang.Object
-
- org.apache.commons.jexl2.UnifiedJEXL.TemplateContext
-
- All Implemented Interfaces:
JexlContext,NamespaceResolver
- Enclosing class:
- UnifiedJEXL
public final class UnifiedJEXL.TemplateContext extends java.lang.Object implements JexlContext, NamespaceResolver
The type of context to use during evaluation of templates.This context exposes its writer as '$jexl' to the scripts.
public for introspection purpose.
- Since:
- 2.1
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTemplateContext(JexlContext jcontext, JexlEngine.Frame jframe, UnifiedJEXL.Expression[] expressions, java.io.Writer out)Creates a template context instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Objectget(java.lang.String name)Gets the value of a variable.JexlEngine.FramegetFrame()Gets this context calling frame.booleanhas(java.lang.String name)Checks whether a variable is defined in this context.voidinclude(UnifiedJEXL.Template template, java.lang.Object... args)Includes a call to another template.voidprint(int e)Prints an expression result.protected voidprintComposite(org.apache.commons.jexl2.UnifiedJEXL.CompositeExpression composite)Prints a composite expression.java.lang.ObjectresolveNamespace(java.lang.String ns)Resolves a namespace by its name.voidset(java.lang.String name, java.lang.Object value)Sets the value of a variable.
-
-
-
Constructor Detail
-
TemplateContext
protected TemplateContext(JexlContext jcontext, JexlEngine.Frame jframe, UnifiedJEXL.Expression[] expressions, java.io.Writer out)
Creates a template context instance.- Parameters:
jcontext- the base contextjframe- the calling frameexpressions- the list of expression from the template to evaluateout- the output writer
-
-
Method Detail
-
getFrame
public JexlEngine.Frame getFrame()
Gets this context calling frame.- Returns:
- the engine frame
-
get
public java.lang.Object get(java.lang.String name)
Gets the value of a variable.- Specified by:
getin interfaceJexlContext- Parameters:
name- the variable's name- Returns:
- the value
-
set
public void set(java.lang.String name, java.lang.Object value)
Sets the value of a variable.- Specified by:
setin interfaceJexlContext- Parameters:
name- the variable's namevalue- the variable's value
-
has
public boolean has(java.lang.String name)
Checks whether a variable is defined in this context.A variable may be defined with a null value; this method checks whether the value is null or if the variable is undefined.
- Specified by:
hasin interfaceJexlContext- Parameters:
name- the variable's name- Returns:
- true if it exists, false otherwise
-
resolveNamespace
public java.lang.Object resolveNamespace(java.lang.String ns)
Resolves a namespace by its name.- Specified by:
resolveNamespacein interfaceNamespaceResolver- Parameters:
ns- the name- Returns:
- the namespace object
-
include
public void include(UnifiedJEXL.Template template, java.lang.Object... args)
Includes a call to another template.Evaluates a template using this template initial context and writer.
- Parameters:
template- the template to evaluateargs- the arguments
-
print
public void print(int e)
Prints an expression result.- Parameters:
e- the expression number
-
printComposite
protected void printComposite(org.apache.commons.jexl2.UnifiedJEXL.CompositeExpression composite)
Prints a composite expression.- Parameters:
composite- the composite expression
-
-