Package org.apache.commons.jexl3
Class JxltEngine
java.lang.Object
org.apache.commons.jexl3.JxltEngine
A simple "JeXL Template" engine.
At the base is an evaluator similar to the Unified EL evaluator used in JSP/JSF based on JEXL. At the top is a template engine inspired by Velocity that uses JEXL (instead of OGNL/VTL) as the scripting language.
The evaluator is intended to be used in configuration modules, XML based frameworks or JSP taglibs and facilitate the implementation of expression evaluation.
The template engine is intended to output any form of text; html, XML, CSV...
- Since:
- 3.0
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
The sole type of (runtime) exception the JxltEngine can throw.static interface
A unified expression that can mix immediate, deferred and nested sub-expressions as well as string constants; The "immediate" syntax is of the form"...${jexl-expr}..."
The "deferred" syntax is of the form"...#{jexl-expr}..."
The "nested" syntax is of the form"...#{...${jexl-expr0}...}..."
The "composite" syntax is of the form"...${jexl-expr0}...
static interface
A template is a JEXL script that evaluates by writing its content through a Writer. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionabstract void
Clears the cache.createExpression
(String expression) Creates aJxltEngine.Expression
from an expression string.abstract JxltEngine.Expression
createExpression
(JexlInfo info, String expression) Creates aJxltEngine.Expression
from an expression string.createTemplate
(String source) Creates a new template.createTemplate
(String prefix, Reader source, String... parms) Creates a new template.createTemplate
(String source, String... parms) Creates a new template.createTemplate
(JexlInfo info, String source) Creates a new template.abstract JxltEngine.Template
createTemplate
(JexlInfo info, String prefix, Reader source, String... parms) Creates a new template.createTemplate
(JexlInfo info, String source, String... parms) Creates a new template.abstract JexlEngine
Gets theJexlEngine
underlying this template engine.
-
Constructor Details
-
JxltEngine
public JxltEngine()
-
-
Method Details
-
clearCache
Clears the cache. -
createExpression
Creates aJxltEngine.Expression
from an expression string. Uses and fills up the expression cache if any.If the underlying JEXL engine is silent, errors will be logged through its logger as warnings.
- Parameters:
info
- theJexlInfo
source informationexpression
- theJxltEngine.Template
string expression- Returns:
- the
JxltEngine.Expression
, null if silent and an error occurred - Throws:
JxltEngine.Exception
- if an error occurs and theJexlEngine
is not silent
-
createExpression
Creates aJxltEngine.Expression
from an expression string. Uses and fills up the expression cache if any.If the underlying JEXL engine is silent, errors will be logged through its logger as warnings.
- Parameters:
expression
- theJxltEngine.Template
string expression- Returns:
- the
JxltEngine.Expression
, null if silent and an error occurred - Throws:
JxltEngine.Exception
- if an error occurs and theJexlEngine
is not silent
-
createTemplate
Creates a new template.- Parameters:
info
- the source infosource
- the source- Returns:
- the template
-
createTemplate
public abstract JxltEngine.Template createTemplate(JexlInfo info, String prefix, Reader source, String... parms) Creates a new template.- Parameters:
info
- the jexl info (file, line, column)prefix
- the directive prefixsource
- the sourceparms
- the parameter names- Returns:
- the template
-
createTemplate
Creates a new template.- Parameters:
info
- the source infoparms
- the parameter namessource
- the source- Returns:
- the template
-
createTemplate
Creates a new template.- Parameters:
source
- the source- Returns:
- the template
-
createTemplate
Creates a new template.- Parameters:
prefix
- the directive prefixsource
- the sourceparms
- the parameter names- Returns:
- the template
-
createTemplate
Creates a new template.- Parameters:
source
- the sourceparms
- the parameter names- Returns:
- the template
-
getEngine
Gets theJexlEngine
underlying this template engine.- Returns:
- the JexlEngine
-