org.apache.commons.jexl

Class ScriptFactory

public class ScriptFactory extends Object

Creates Scripts. To create a JEXL Script, pass valid JEXL syntax to the static createScript() method:

 String jexl = "y = x * 12 + 44; y = y * 4;";
 Script script = ScriptFactory.createScript( jexl );
 

When an Script is created, the JEXL syntax is parsed and verified.

Since: 1.1

Version: $Id: ScriptFactory.java 429175 2006-08-06 19:05:23Z rahul $

Field Summary
protected static ScriptFactoryfactory
ScriptFactory is a singleton and this is the private instance fufilling that pattern.
protected static Loglog
The Log to which all ScriptFactory messages will be logged.
protected static Parserparser
The singleton ScriptFactory also holds a single instance of Parser.
Method Summary
protected ScriptcreateNewScript(String scriptText)
Creates a new Script based on the string.
static ScriptcreateScript(String scriptText)
Creates a Script from a String containing valid JEXL syntax.
static ScriptcreateScript(File scriptFile)
Creates a Script from a File containing valid JEXL syntax.
static ScriptcreateScript(URL scriptUrl)
Creates a Script from a URL containing valid JEXL syntax.
protected static ScriptFactorygetInstance()
Returns the single instance of ScriptFactory.

Field Detail

factory

protected static ScriptFactory factory
ScriptFactory is a singleton and this is the private instance fufilling that pattern.

log

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

parser

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

Method Detail

createNewScript

protected Script createNewScript(String scriptText)
Creates a new Script based on the string.

Parameters: scriptText valid Jexl script

Returns: Script a new script

Throws: Exception for a variety of reasons - mostly malformed scripts

createScript

public static Script createScript(String scriptText)
Creates a Script from a String containing valid JEXL syntax. This method parses the script which validates the syntax.

Parameters: scriptText A String containing valid JEXL syntax

Returns: A Script which can be executed with a JexlContext.

Throws: Exception An exception can be thrown if there is a problem parsing the script.

createScript

public static Script createScript(File scriptFile)
Creates a Script from a File containing valid JEXL syntax. This method parses the script and validates the syntax.

Parameters: scriptFile A File containing valid JEXL syntax. Must not be null. Must be a readable file.

Returns: A Script which can be executed with a JexlContext.

Throws: Exception An exception can be thrown if there is a problem parsing the script.

createScript

public static Script createScript(URL scriptUrl)
Creates a Script from a URL containing valid JEXL syntax. This method parses the script and validates the syntax.

Parameters: scriptUrl A URL containing valid JEXL syntax. Must not be null. Must be a readable file.

Returns: A Script which can be executed with a JexlContext.

Throws: Exception An exception can be thrown if there is a problem parsing the script.

getInstance

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

Returns: the instance of ScriptFactory.

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