Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.jexl
Class ScriptFactory

    java.lang.Object
      |
      +--org.apache.commons.jexl.ScriptFactory

public class ScriptFactory
extends Object

Creates `Script`s. 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 ScriptFactory` | `factory` ScriptFactory is a singleton and this is the private instance fufilling that pattern.
`protected static Log` | `log` The Log to which all ScriptFactory messages will be logged.
`protected static Parser` | `parser` The singleton ScriptFactory also holds a single instance of `Parser`.

Method Summary
`protected Script` | `createNewScript(String scriptText)` Creates a new Script based on the string.
`static Script` | `createScript(File scriptFile)` Creates a Script from a `File` containing valid JEXL syntax.
`static Script` | `createScript(String scriptText)` Creates a Script from a String containing valid JEXL syntax.
`static Script` | `createScript(URL scriptUrl)` Creates a Script from a `URL` containing valid JEXL syntax.
`protected static ScriptFactory` | `getInstance()` Returns the single instance of ScriptFactory.

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

### factory

    protected static ScriptFactory factory

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

Method Detail

### getInstance

    protected static ScriptFactory getInstance()

  Returns the single instance of ScriptFactory.
  Returns:
    the instance of ScriptFactory.

### createScript

    public static Script createScript(String scriptText)
                               throws Exception

  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)
                               throws Exception

  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)
                               throws Exception

  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.

### createNewScript

    protected Script createNewScript(String scriptText)
                              throws Exception

  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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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