org.apache.commons.jexl

Class ExpressionFactory

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().

Since: 1.0

Version: $Id: ExpressionFactory.java 429169 2006-08-06 18:36:29Z rahul $

Field Summary
protected static ExpressionFactoryef
ExpressionFactory is a singleton and this is the private instance fufilling that pattern.
protected static Loglog
The Log to which all ExpressionFactory messages will be logged.
protected static Parserparser
The singleton ExpressionFactory also holds a single instance of Parser.
Method Summary
static ExpressioncreateExpression(String expression)
Creates an Expression from a String containing valid JEXL syntax.
protected ExpressioncreateNewExpression(String expression)
Creates a new Expression based on the expression string.
protected static ExpressionFactorygetInstance()
Returns the single instance of ExpressionFactory.

Field Detail

ef

protected static ExpressionFactory ef
ExpressionFactory is a singleton and this is the private instance fufilling that pattern.

log

protected static Log log
The Log to which all ExpressionFactory messages will be logged.

parser

protected static Parser parser
The singleton ExpressionFactory also holds a single instance of Parser. When parsing expressions, ExpressionFactory synchronizes on Parser.

Method Detail

createExpression

public static Expression createExpression(String expression)
Creates an Expression from a String containing valid JEXL syntax. This method parses the expression which must contain either a reference or an expression.

Parameters: expression A String containing valid JEXL syntax

Returns: An Expression object which can be evaluated with a JexlContext

Throws: Exception An exception can be thrown if there is a problem parsing this expression, or if the expression is neither an expression or a reference.

createNewExpression

protected Expression createNewExpression(String expression)
Creates a new Expression based on the expression string.

Parameters: expression valid Jexl expression

Returns: Expression

Throws: Exception for a variety of reasons - mostly malformed Jexl expression

getInstance

protected static ExpressionFactory getInstance()
Returns the single instance of ExpressionFactory.

Returns: the instance of ExpressionFactory.

Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.