org.apache.commons.jexl3
Class JxltEngine

java.lang.Object
  extended by org.apache.commons.jexl3.JxltEngine
Direct Known Subclasses:
TemplateEngine

public abstract class JxltEngine
extends Object

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
static class JxltEngine.Exception
          The sole type of (runtime) exception the JxltEngine can throw.
static interface JxltEngine.Expression
          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 JxltEngine.Template
          A template is a JEXL script that evaluates by writing its content through a Writer.
 
Constructor Summary
JxltEngine()
           
 
Method Summary
abstract  void clearCache()
          Clears the cache.
abstract  JxltEngine.Expression createExpression(JexlInfo info, String expression)
          Creates a a JxltEngine.Expression from an expression string.
 JxltEngine.Expression createExpression(String expression)
          Creates a a JxltEngine.Expression from an expression string.
 JxltEngine.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.
 JxltEngine.Template createTemplate(JexlInfo info, String source, String... parms)
          Creates a new template.
 JxltEngine.Template createTemplate(String source)
          Creates a new template.
 JxltEngine.Template createTemplate(String prefix, Reader source, String... parms)
          Creates a new template.
 JxltEngine.Template createTemplate(String source, String... parms)
          Creates a new template.
abstract  JexlEngine getEngine()
          Gets the JexlEngine underlying this template engine.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JxltEngine

public JxltEngine()
Method Detail

createExpression

public JxltEngine.Expression createExpression(String expression)
Creates a a JxltEngine.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 - the JxltEngine.Template string expression
Returns:
the JxltEngine.Expression, null if silent and an error occurred
Throws:
JxltEngine.Exception - if an error occurs and the JexlEngine is not silent

createExpression

public abstract JxltEngine.Expression createExpression(JexlInfo info,
                                                       String expression)
Creates a a JxltEngine.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 - the JexlInfo source information
expression - the JxltEngine.Template string expression
Returns:
the JxltEngine.Expression, null if silent and an error occured
Throws:
JxltEngine.Exception - if an error occurs and the JexlEngine is not silent

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 prefix
source - the source
parms - the parameter names
Returns:
the template

createTemplate

public JxltEngine.Template createTemplate(JexlInfo info,
                                          String source,
                                          String... parms)
Creates a new template.

Parameters:
info - the source info
parms - the parameter names
source - the source
Returns:
the template

createTemplate

public JxltEngine.Template createTemplate(JexlInfo info,
                                          String source)
Creates a new template.

Parameters:
info - the source info
source - the source
Returns:
the template

createTemplate

public JxltEngine.Template createTemplate(String prefix,
                                          Reader source,
                                          String... parms)
Creates a new template.

Parameters:
prefix - the directive prefix
source - the source
parms - the parameter names
Returns:
the template

createTemplate

public JxltEngine.Template createTemplate(String source,
                                          String... parms)
Creates a new template.

Parameters:
source - the source
parms - the parameter names
Returns:
the template

createTemplate

public JxltEngine.Template createTemplate(String source)
Creates a new template.

Parameters:
source - the source
Returns:
the template

getEngine

public abstract JexlEngine getEngine()
Gets the JexlEngine underlying this template engine.

Returns:
the JexlEngine

clearCache

public abstract void clearCache()
Clears the cache.



Copyright © 2001–2017 The Apache Software Foundation. All rights reserved.