Groovy 1.7.0

## groovy.util
Class GroovyScriptEngine

    java.lang.Object
      groovy.util.GroovyScriptEngine

All Implemented Interfaces:
  ResourceConnector

    class GroovyScriptEngine
    extends Object

Specific script engine able to reload modified scripts as well as dealing properly with dependent scripts.

author:
  sam

author:
  Marc Palmer

author:
  Guillaume Laforge

author:
  Jochen Theodorou

Nested Class Summary
`class` | `GroovyScriptEngine.ScriptCacheEntry`
`class` | `GroovyScriptEngine.ScriptClassLoader`

Constructor Summary
`GroovyScriptEngine()`

Method Summary
`def` | `GroovyScriptEngine(URL[] roots)`
`def` | `GroovyScriptEngine(URL[] roots, ClassLoader parentClassLoader)`
`def` | `GroovyScriptEngine(String[] urls)`
`def` | `GroovyScriptEngine(String[] urls, ClassLoader parentClassLoader)`
`def` | `GroovyScriptEngine(String url)`
`def` | `GroovyScriptEngine(String url, ClassLoader parentClassLoader)`
`def` | `GroovyScriptEngine(ResourceConnector rc)`
`def` | `GroovyScriptEngine(ResourceConnector rc, ClassLoader parentClassLoader)`
`Script` | `createScript(String scriptName, Binding binding)` Creates a Script with a given scriptName and binding.
`CompilerConfiguration` | `getConfig()`
`GroovyClassLoader` | `getGroovyClassLoader()` Returns the GroovyClassLoader associated with this script engine instance.
`ClassLoader` | `getParentClassLoader()` Get the `ClassLoader` that will serve as the parent ClassLoader of the {
`URLConnection` | `getResourceConnection(String resourceName)` Get a resource connection as a `URLConnection` to retrieve a script from the `ResourceConnector`.
`protected boolean` | `isSourceNewer(ScriptCacheEntry entry)`
`Class` | `loadScriptByName(String scriptName)` Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.
`Class` | `loadScriptByName(String scriptName, ClassLoader parentClassLoader)` Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.
`static void` | `main(String[] urls)` Simple testing harness for the GSE.
`String` | `run(String scriptName, String argument)` Run a script identified by name with a single argument.
`Object` | `run(String scriptName, Binding binding)` Run a script identified by name with a given binding.
`void` | `setConfig(CompilerConfiguration config)` sets a compiler configuration
`void` | `setParentClassLoader(ClassLoader parentClassLoader)` for scripts executed by the engine

Methods inherited from class Object
wait, wait, wait, hashCode, getClass, equals, toString, notify, notifyAll

Constructor Detail

### GroovyScriptEngine

    GroovyScriptEngine()

Method Detail

### GroovyScriptEngine

    public def GroovyScriptEngine(URL[] roots)

### GroovyScriptEngine

    public def GroovyScriptEngine(URL[] roots, ClassLoader parentClassLoader)

### GroovyScriptEngine

    public def GroovyScriptEngine(String[] urls)

### GroovyScriptEngine

    public def GroovyScriptEngine(String[] urls, ClassLoader parentClassLoader)

### GroovyScriptEngine

    public def GroovyScriptEngine(String url)

### GroovyScriptEngine

    public def GroovyScriptEngine(String url, ClassLoader parentClassLoader)

### GroovyScriptEngine

    public def GroovyScriptEngine(ResourceConnector rc)

### GroovyScriptEngine

    public def GroovyScriptEngine(ResourceConnector rc, ClassLoader parentClassLoader)

### createScript

    public Script createScript(String scriptName, Binding binding)

  Creates a Script with a given scriptName and binding.
  param:
    scriptName name of the script to run
  param:
    binding the binding to pass to the script
  return:
    the script object
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script

### getConfig

    public CompilerConfiguration getConfig()

  return:
    a non null compiler configuration

### getGroovyClassLoader

    public GroovyClassLoader getGroovyClassLoader()

  Returns the GroovyClassLoader associated with this script engine instance. Useful if you need to pass the class loader to another library.
  return:
    the GroovyClassLoader

### getParentClassLoader

    public ClassLoader getParentClassLoader()

  Get the `ClassLoader` that will serve as the parent ClassLoader of the GroovyClassLoader in which scripts will be executed. By default, this is the ClassLoader that loaded the `GroovyScriptEngine` class.
  return:
    the parent classloader used to load scripts

### getResourceConnection

    public URLConnection getResourceConnection(String resourceName)

  Get a resource connection as a `URLConnection` to retrieve a script from the `ResourceConnector`.
  param:
    resourceName name of the resource to be retrieved
  return:
    a URLConnection to the resource
  throws:
    ResourceException

### isSourceNewer

    protected boolean isSourceNewer(ScriptCacheEntry entry)

### loadScriptByName

    public Class loadScriptByName(String scriptName)

  Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.
  param:
    scriptName resource name pointing to the script
  return:
    the loaded scriptName as a compiled class
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script

### loadScriptByName

    public Class loadScriptByName(String scriptName, ClassLoader parentClassLoader)

  Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.
  param:
    scriptName resource name pointing to the script
  param:
    parentClassLoader the class loader to use when loading the script
  return:
    the loaded scriptName as a compiled class
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script
  deprecated:

### main

    public static void main(String[] urls)

  Simple testing harness for the GSE. Enter script roots as arguments and then input script names to run them.
  param:
    urls an array of URLs
  throws:
    Exception if something goes wrong

### run

    public String run(String scriptName, String argument)

  Run a script identified by name with a single argument.
  param:
    scriptName name of the script to run
  param:
    argument a single argument passed as a variable named `arg` in the binding
  return:
    a `toString()` representation of the result of the execution of the script
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script

### run

    public Object run(String scriptName, Binding binding)

  Run a script identified by name with a given binding.
  param:
    scriptName name of the script to run
  param:
    binding the binding to pass to the script
  return:
    an object
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script

### setConfig

    public void setConfig(CompilerConfiguration config)

  sets a compiler configuration
  param:
    config - the compiler configuration
  throws:
    NullPointerException if config is null

### setParentClassLoader

    public void setParentClassLoader(ClassLoader parentClassLoader)

  param:
    parentClassLoader ClassLoader to be used as the parent ClassLoader for scripts executed by the engine
  deprecated:

Copyright © 2003-2009 The Codehaus. All rights reserved.