org.apache.commons.jexl
Class ExpressionFactory

java.lang.Object
  |
  +--org.apache.commons.jexl.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 ExpressionFactory ef
          ExpressionFactory is a singleton and this is the private instance fufilling that pattern.
protected static 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.
 
Method Summary
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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.


ef

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

Method Detail

getInstance

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

Returns:
the instance of ExpressionFactory.

createExpression

public static Expression createExpression(String expression)
                                   throws Exception
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)
                                  throws Exception
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


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