Groovy 1.8.4

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-2011 The Codehaus. All rights reserved.