public class ExpressionFactory extends Object
Creates Expression objects. To create a JEXL Expression object, pass valid JEXL syntax to the static createExpression() method:
String jexl = "array[1]"; Expression expression = ExpressionFactory.createExpression( jexl );
When an Expression
object is created, the JEXL syntax is
parsed and verified. If the supplied expression is neither an
expression nor a reference, an exception is thrown from createException().
Modifier and Type | Field and Description |
---|---|
protected static ExpressionFactory |
ef
ExpressionFactory is a singleton and this is the private
instance fufilling that pattern.
|
protected static org.apache.commons.logging.Log |
log
The Log to which all ExpressionFactory messages will be logged.
|
protected static Parser |
parser
The singleton ExpressionFactory also holds a single instance of
Parser . |
Modifier and Type | Method and Description |
---|---|
static Expression |
createExpression(String expression)
Creates an Expression from a String containing valid
JEXL syntax.
|
protected Expression |
createNewExpression(String expression)
Creates a new Expression based on the expression string.
|
protected static ExpressionFactory |
getInstance()
Returns the single instance of ExpressionFactory.
|
protected static org.apache.commons.logging.Log log
protected static Parser parser
Parser
.
When parsing expressions, ExpressionFactory synchronizes on Parser.protected static ExpressionFactory ef
protected static ExpressionFactory getInstance()
public static Expression createExpression(String expression) throws Exception
expression
- A String containing valid JEXL syntaxException
- An exception can be thrown if there is a problem
parsing this expression, or if the expression is neither an
expression or a reference.protected Expression createNewExpression(String expression) throws Exception
expression
- valid Jexl expressionException
- for a variety of reasons - mostly malformed
Jexl expressionCopyright © 2014 The Apache Software Foundation. All rights reserved.