[Java] Class GroovyScriptEngine
- groovy.util.GroovyScriptEngine
- All Implemented Interfaces and Traits:
- 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 Summary
Constructor and description |
---|
GroovyScriptEngine
(URL[] roots) |
GroovyScriptEngine
(URL[] roots, ClassLoader parentClassLoader) |
GroovyScriptEngine
(String[] urls) |
GroovyScriptEngine
(String[] urls, ClassLoader parentClassLoader) |
GroovyScriptEngine
(String url) |
GroovyScriptEngine
(String url, ClassLoader parentClassLoader) |
GroovyScriptEngine
(ResourceConnector rc) |
GroovyScriptEngine
(ResourceConnector rc, ClassLoader parentClassLoader) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public Script |
createScript(String scriptName, Binding binding) Creates a Script with a given scriptName and binding. | |
public CompilerConfiguration |
getConfig()
| |
protected long |
getCurrentTime() | |
public GroovyClassLoader |
getGroovyClassLoader() Returns the GroovyClassLoader associated with this script engine instance. | |
public ClassLoader |
getParentClassLoader() Get the ClassLoader that will serve as the parent ClassLoader of the GroovyClassLoader in which scripts will be executed. | |
public URLConnection |
getResourceConnection(String resourceName) Get a resource connection as a URLConnection to retrieve a script from the ResourceConnector . | |
protected boolean |
isSourceNewer(ScriptCacheEntry entry) | |
public Class |
loadScriptByName(String scriptName) Get the class of the scriptName in question, so that you can instantiate Groovy objects with caching and reloading. | |
public static void |
main(String[] urls) Simple testing harness for the GSE. | |
public String |
run(String scriptName, String argument) Run a script identified by name with a single argument. | |
public Object |
run(String scriptName, Binding binding) Run a script identified by name with a given binding. | |
public void |
setConfig(CompilerConfiguration config) sets a compiler configuration |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public GroovyScriptEngine(URL[] roots)
public GroovyScriptEngine(URL[] roots, ClassLoader parentClassLoader)
public GroovyScriptEngine(String[] urls)
public GroovyScriptEngine(String[] urls, ClassLoader parentClassLoader)
public GroovyScriptEngine(String url)
public GroovyScriptEngine(String url, ClassLoader parentClassLoader)
public GroovyScriptEngine(ResourceConnector rc)
public GroovyScriptEngine(ResourceConnector rc, ClassLoader parentClassLoader)
Method Detail
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
public CompilerConfiguration getConfig()
- Returns:
- a non null compiler configuration
protected long getCurrentTime()
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
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
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
protected boolean isSourceNewer(ScriptCacheEntry entry)
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
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
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 namedarg
in the binding
- Returns:
- a
toString()
representation of the result of the execution of the script
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
public void setConfig(CompilerConfiguration config)
sets a compiler configuration
- throws:
- NullPointerException if config is null
- Parameters:
-
config
- - the compiler configuration
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/groovy/util/GroovyScriptEngine.html