public abstract class AbstractScripting extends java.lang.Object implements Scripting
Modifier and Type | Class and Description |
---|---|
protected class |
AbstractScripting.CubaGroovyClassLoader |
protected class |
AbstractScripting.CubaResourceConnector |
Modifier and Type | Field and Description |
---|---|
protected AbstractScripting.CubaGroovyClassLoader |
gcl |
protected GlobalConfig |
globalConfig |
protected java.lang.String |
groovyClassPath |
protected groovy.util.GroovyScriptEngine |
gse |
protected java.util.Set<java.lang.String> |
imports |
protected JavaClassLoader |
javaClassLoader |
protected org.apache.commons.pool2.impl.GenericKeyedObjectPool<java.lang.String,groovy.lang.Script> |
pool |
protected SpringBeanLoader |
springBeanLoader |
Constructor and Description |
---|
AbstractScripting(JavaClassLoader javaClassLoader,
Configuration configuration,
SpringBeanLoader springBeanLoader) |
Modifier and Type | Method and Description |
---|---|
void |
clearCache()
Clears compiled classes cache
|
protected groovy.lang.Binding |
createBinding(java.util.Map<java.lang.String,java.lang.Object> map) |
protected groovy.lang.Script |
createScript(java.lang.String text) |
<T> T |
evaluateGroovy(java.lang.String text,
groovy.lang.Binding binding)
Evaluates Groovy expression.
|
<T> T |
evaluateGroovy(java.lang.String text,
groovy.lang.Binding binding,
ScriptExecutionPolicy... policies)
Evaluates Groovy expression.
|
<T> T |
evaluateGroovy(java.lang.String text,
java.util.Map<java.lang.String,java.lang.Object> context)
Evaluates Groovy expression.
|
java.lang.ClassLoader |
getClassLoader()
Returns the dynamic classloader.
|
protected AbstractScripting.CubaGroovyClassLoader |
getGroovyClassLoader() |
protected groovy.util.GroovyScriptEngine |
getGroovyScriptEngine() |
protected abstract java.lang.String[] |
getScriptEngineRootPath() |
java.lang.Class<?> |
loadClass(java.lang.String name)
Loads class by name using the following sequence:
Search for a Groovy source in the conf directory.
|
java.lang.Class<?> |
loadClassNN(java.lang.String name)
Loads a class by name using the sequence described in
Scripting.loadClass(String) . |
boolean |
removeClass(java.lang.String name)
Remove compiled class from cache
|
<T> T |
runGroovyScript(java.lang.String name,
groovy.lang.Binding binding)
Runs Groovy script.
|
<T> T |
runGroovyScript(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> context)
Runs Groovy script.
|
protected JavaClassLoader javaClassLoader
protected SpringBeanLoader springBeanLoader
protected java.lang.String groovyClassPath
protected java.util.Set<java.lang.String> imports
protected volatile groovy.util.GroovyScriptEngine gse
protected volatile AbstractScripting.CubaGroovyClassLoader gcl
protected org.apache.commons.pool2.impl.GenericKeyedObjectPool<java.lang.String,groovy.lang.Script> pool
protected GlobalConfig globalConfig
public AbstractScripting(JavaClassLoader javaClassLoader, Configuration configuration, SpringBeanLoader springBeanLoader)
protected abstract java.lang.String[] getScriptEngineRootPath()
protected groovy.util.GroovyScriptEngine getGroovyScriptEngine()
protected AbstractScripting.CubaGroovyClassLoader getGroovyClassLoader()
protected groovy.lang.Script createScript(java.lang.String text)
protected groovy.lang.Binding createBinding(java.util.Map<java.lang.String,java.lang.Object> map)
public <T> T evaluateGroovy(java.lang.String text, groovy.lang.Binding binding, ScriptExecutionPolicy... policies)
Scripting
evaluateGroovy
in interface Scripting
T
- result typetext
- expression textbinding
- Groovy bindingpolicies
- policies for script execution ScriptExecutionPolicy
public <T> T evaluateGroovy(java.lang.String text, groovy.lang.Binding binding)
Scripting
evaluateGroovy
in interface Scripting
T
- result typetext
- expression textbinding
- Groovy bindingpublic <T> T evaluateGroovy(java.lang.String text, java.util.Map<java.lang.String,java.lang.Object> context)
Scripting
evaluateGroovy
in interface Scripting
T
- result typetext
- expression textcontext
- map of parameters to pass to the expression, same as Bindingpublic <T> T runGroovyScript(java.lang.String name, groovy.lang.Binding binding)
Scripting
runGroovyScript
in interface Scripting
T
- result typename
- path to the script relative to conf dir or to the classpath rootbinding
- Groovy bindingpublic <T> T runGroovyScript(java.lang.String name, java.util.Map<java.lang.String,java.lang.Object> context)
Scripting
runGroovyScript
in interface Scripting
T
- result typename
- path to the script relative to conf dir or to the classpath rootcontext
- map of parameters to pass to the script, same as Bindingpublic java.lang.ClassLoader getClassLoader()
Scripting
Actually it is the GroovyClassLoader which parent is JavaClassLoader
.
For explanation on class loading sequence see Scripting.loadClass(String)
getClassLoader
in interface Scripting
public java.lang.Class<?> loadClass(java.lang.String name)
Scripting
Scripting.clearCache()
method, e.g. through JMX interface
CachingFacadeMBean.public java.lang.Class<?> loadClassNN(java.lang.String name)
Scripting
Scripting.loadClass(String)
.loadClassNN
in interface Scripting
name
- fully qualified class namepublic boolean removeClass(java.lang.String name)
Scripting
removeClass
in interface Scripting
public void clearCache()
Scripting
clearCache
in interface Scripting