Package groovy.util
Class GroovyScriptEngine
- java.lang.Object
- 
- groovy.util.GroovyScriptEngine
 
- 
- All Implemented Interfaces:
- ResourceConnector
 
 public class GroovyScriptEngine extends Object implements ResourceConnector Specific script engine able to reload modified scripts as well as dealing properly with dependent scripts.
- 
- 
Constructor SummaryConstructors Constructor Description GroovyScriptEngine(ResourceConnector rc)GroovyScriptEngine(ResourceConnector rc, ClassLoader parentClassLoader)GroovyScriptEngine(String url)GroovyScriptEngine(String[] urls)GroovyScriptEngine(String[] urls, ClassLoader parentClassLoader)GroovyScriptEngine(String url, ClassLoader parentClassLoader)GroovyScriptEngine(URL[] roots)GroovyScriptEngine(URL[] roots, ClassLoader parentClassLoader)
 - 
Method SummaryAll Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ScriptcreateScript(String scriptName, Binding binding)Creates a Script with a given scriptName and binding.CompilerConfigurationgetConfig()protected longgetCurrentTime()GroovyClassLoadergetGroovyClassLoader()Returns the GroovyClassLoader associated with this script engine instance.ClassLoadergetParentClassLoader()Get theClassLoaderthat will serve as the parent ClassLoader of theGroovyClassLoaderin which scripts will be executed.URLConnectiongetResourceConnection(String resourceName)Get a resource connection as aURLConnectionto retrieve a script from theResourceConnector.protected booleanisSourceNewer(groovy.util.GroovyScriptEngine.ScriptCacheEntry entry)ClassloadScriptByName(String scriptName)Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.static voidmain(String[] urls)Simple testing harness for the GSE.Objectrun(String scriptName, Binding binding)Run a script identified by name with a given binding.Stringrun(String scriptName, String argument)Run a script identified by name with a single argument.voidsetConfig(CompilerConfiguration config)sets a compiler configuration
 
- 
- 
- 
Constructor Detail- 
GroovyScriptEnginepublic GroovyScriptEngine(URL[] roots) 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(URL[] roots, ClassLoader parentClassLoader) 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(String[] urls) throws IOException - Throws:
- IOException
 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(String[] urls, ClassLoader parentClassLoader) throws IOException - Throws:
- IOException
 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(String url) throws IOException - Throws:
- IOException
 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(String url, ClassLoader parentClassLoader) throws IOException - Throws:
- IOException
 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(ResourceConnector rc) 
 - 
GroovyScriptEnginepublic GroovyScriptEngine(ResourceConnector rc, ClassLoader parentClassLoader) 
 
- 
 - 
Method Detail- 
mainpublic static void main(String[] urls) throws Exception Simple testing harness for the GSE. Enter script roots as arguments and then input script names to run them.- Parameters:
- urls- an array of URLs
- Throws:
- Exception- if something goes wrong
 
 - 
getResourceConnectionpublic URLConnection getResourceConnection(String resourceName) throws ResourceException Get a resource connection as aURLConnectionto retrieve a script from theResourceConnector.- Specified by:
- getResourceConnectionin interface- ResourceConnector
- Parameters:
- resourceName- name of the resource to be retrieved
- Returns:
- a URLConnection to the resource
- Throws:
- ResourceException
 
 - 
getParentClassLoaderpublic ClassLoader getParentClassLoader() Get theClassLoaderthat will serve as the parent ClassLoader of theGroovyClassLoaderin which scripts will be executed. By default, this is the ClassLoader that loaded theGroovyScriptEngineclass.- Returns:
- the parent classloader used to load scripts
 
 - 
loadScriptByNamepublic Class loadScriptByName(String scriptName) throws ResourceException, ScriptException Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading.- Parameters:
- scriptName- resource name pointing to the script
- Returns:
- the loaded scriptName as a compiled class
- Throws:
- ResourceException- if there is a problem accessing the script
- ScriptException- if there is a problem parsing the script
 
 - 
runpublic String run(String scriptName, String argument) throws ResourceException, ScriptException Run a script identified by name with a single argument.- Parameters:
- scriptName- name of the script to run
- argument- a single argument passed as a variable named- argin the binding
- Returns:
- a toString()representation of the result of the execution of the script
- Throws:
- ResourceException- if there is a problem accessing the script
- ScriptException- if there is a problem parsing the script
 
 - 
runpublic Object run(String scriptName, Binding binding) throws ResourceException, ScriptException Run a script identified by name with a given binding.- Parameters:
- scriptName- name of the script to run
- binding- the binding to pass to the script
- Returns:
- an object
- Throws:
- ResourceException- if there is a problem accessing the script
- ScriptException- if there is a problem parsing the script
 
 - 
createScriptpublic Script createScript(String scriptName, Binding binding) throws ResourceException, ScriptException Creates a Script with a given scriptName and binding.- Parameters:
- scriptName- name of the script to run
- binding- the binding to pass to the script
- Returns:
- the script object
- Throws:
- ResourceException- if there is a problem accessing the script
- ScriptException- if there is a problem parsing the script
 
 - 
isSourceNewerprotected boolean isSourceNewer(groovy.util.GroovyScriptEngine.ScriptCacheEntry entry) 
 - 
getGroovyClassLoaderpublic 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
 
 - 
getConfigpublic CompilerConfiguration getConfig() - Returns:
- a non null compiler configuration
 
 - 
setConfigpublic void setConfig(CompilerConfiguration config) sets a compiler configuration- Parameters:
- config- - the compiler configuration
- Throws:
- NullPointerException- if config is null
 
 - 
getCurrentTimeprotected long getCurrentTime() 
 
- 
 
-