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)
ScriptingevaluateGroovy in interface ScriptingT - result typetext - expression textbinding - Groovy bindingpolicies - policies for script execution ScriptExecutionPolicypublic <T> T evaluateGroovy(java.lang.String text,
groovy.lang.Binding binding)
ScriptingevaluateGroovy in interface ScriptingT - result typetext - expression textbinding - Groovy bindingpublic <T> T evaluateGroovy(java.lang.String text,
java.util.Map<java.lang.String,java.lang.Object> context)
ScriptingevaluateGroovy in interface ScriptingT - 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)
ScriptingrunGroovyScript in interface ScriptingT - 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)
ScriptingrunGroovyScript in interface ScriptingT - 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()
ScriptingActually it is the GroovyClassLoader which parent is JavaClassLoader.
For explanation on class loading sequence see Scripting.loadClass(String)
getClassLoader in interface Scriptingpublic java.lang.Class<?> loadClass(java.lang.String name)
ScriptingScripting.clearCache() method, e.g. through JMX interface
CachingFacadeMBean.public java.lang.Class<?> loadClassNN(java.lang.String name)
ScriptingScripting.loadClass(String).loadClassNN in interface Scriptingname - fully qualified class namepublic boolean removeClass(java.lang.String name)
ScriptingremoveClass in interface Scriptingpublic void clearCache()
ScriptingclearCache in interface Scripting