Overview | Package | Class | Deprecated | Index | Help
| Groovy 1.7.10
| FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## groovy.util
[Java] Class GroovyScriptEngine

    java.lang.Object
      groovy.util.GroovyScriptEngine

All Implemented Interfaces:
  ResourceConnector

    public class GroovyScriptEngine
    extends Object

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

Authors:
  sam
  Marc Palmer
  Guillaume Laforge
  Jochen Theodorou

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()` @return a non null compiler configuration
`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 GroovyClassLoader in which scripts will be executed.
`URLConnection` | `getResourceConnection(String resourceName)` Get a resource connection as a `URLConnection` to retrieve a script from the `ResourceConnector`.
`protected boolean` | `isSourceNewer(GroovyScriptEngine.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)` @deprecated Parameters: `parentClassLoader` - ClassLoader to be used as the parent ClassLoader for scripts executed by the engine

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

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.
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script
  Parameters:
    `scriptName` - name of the script to run
    `binding` - the binding to pass to the script
  Returns:
    the script object

### getConfig

    public CompilerConfiguration getConfig()

  Returns:
    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.
  Returns:
    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.
  Returns:
    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`.
  throws:
    ResourceException
  Parameters:
    `resourceName` - name of the resource to be retrieved
  Returns:
    a URLConnection to the resource

### isSourceNewer

    protected boolean isSourceNewer(GroovyScriptEngine.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.
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script
  Parameters:
    `scriptName` - resource name pointing to the script
  Returns:
    the loaded scriptName as a compiled class

### 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.
  throws:
    ResourceException if there is a problem accessing the script
  throws:
    ScriptException if there is a problem parsing the script
  deprecated:
  Parameters:
    `scriptName` - resource name pointing to the script
    `parentClassLoader` - the class loader to use when loading the script
  Returns:
    the loaded scriptName as a compiled class

### 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.
  throws:
    Exception if something goes wrong
  Parameters:
    `urls` - an array of URLs

### run

    public String run(String scriptName, String argument)

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

### run

    public Object run(String scriptName, Binding binding)

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

### setConfig

    public void setConfig(CompilerConfiguration config)

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

### setParentClassLoader

    public void setParentClassLoader(ClassLoader parentClassLoader)

  deprecated:
  Parameters:
    `parentClassLoader` - ClassLoader to be used as the parent ClassLoader for scripts executed by the engine

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