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
Nested ClassesModifier and TypeClassDescriptionstatic classThe sole type of (runtime) exception the JxltEngine can throw.static interfaceA unified expression that can mix immediate, deferred and nested sub-expressions as well as string constants; The "immediate" syntax is of the form"...static interfaceA template is a JEXL script that evaluates by writing its content through a Writer. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract voidClears the cache.createExpression(String expression) Creates aJxltEngine.Expressionfrom an expression string.abstract JxltEngine.ExpressioncreateExpression(JexlInfo info, String expression) Creates aJxltEngine.Expressionfrom 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.TemplatecreateTemplate(JexlInfo info, String prefix, Reader source, String... parms) Creates a new template.createTemplate(JexlInfo info, String source, String... parms) Creates a new template.abstract JexlEngineGets theJexlEngineunderlying this template engine.
-
Constructor Details
-
JxltEngine
public JxltEngine()Default constructor
-
-
Method Details
-
clearCache
Clears the cache. -
createExpression
Creates aJxltEngine.Expressionfrom 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- theJexlInfosource informationexpression- theJxltEngine.Templatestring expression- Returns:
- the
JxltEngine.Expression, null if silent and an error occurred - Throws:
JxltEngine.Exception- if an error occurs and theJexlEngineis not silent
-
createExpression
Creates aJxltEngine.Expressionfrom 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.Templatestring expression- Returns:
- the
JxltEngine.Expression, null if silent and an error occurred - Throws:
JxltEngine.Exception- if an error occurs and theJexlEngineis 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 infosource- the sourceparms- the parameter names- 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 theJexlEngineunderlying this template engine.- Returns:
- the JexlEngine
-