Class GroovyScriptEvaluator
- java.lang.Object
- org.springframework.scripting.groovy.GroovyScriptEvaluator
- All Implemented Interfaces:
Aware,BeanClassLoaderAware,ScriptEvaluator
public class GroovyScriptEvaluator extends Object implements ScriptEvaluator, BeanClassLoaderAware
Groovy-based implementation of Spring'sScriptEvaluatorstrategy interface.- Since:
- 4.0
- Author:
- Juergen Hoeller
- See Also:
GroovyShell.evaluate(String, String)
Constructor Summary
Constructors Constructor Description GroovyScriptEvaluator()Construct a new GroovyScriptEvaluator.GroovyScriptEvaluator(ClassLoader classLoader)Construct a new GroovyScriptEvaluator.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectevaluate(ScriptSource script)Evaluate the given script.Objectevaluate(ScriptSource script, Map<String,Object> arguments)Evaluate the given script with the given arguments.org.codehaus.groovy.control.CompilerConfigurationgetCompilerConfiguration()Return this evaluator's compiler configuration (nevernull).voidsetBeanClassLoader(ClassLoader classLoader)Callback that supplies the beanclass loaderto a bean instance.voidsetCompilationCustomizers(org.codehaus.groovy.control.customizers.CompilationCustomizer... compilationCustomizers)Set one or more customizers to be applied to this evaluator's compiler configuration.voidsetCompilerConfiguration(org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration)Set a custom compiler configuration for this evaluator.
Constructor Detail
GroovyScriptEvaluator
public GroovyScriptEvaluator()
Construct a new GroovyScriptEvaluator.
GroovyScriptEvaluator
public GroovyScriptEvaluator(ClassLoader classLoader)
Construct a new GroovyScriptEvaluator.- Parameters:
classLoader- the ClassLoader to use as a parent for theGroovyShell
Method Detail
setCompilerConfiguration
public void setCompilerConfiguration(org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration)
Set a custom compiler configuration for this evaluator.
getCompilerConfiguration
public org.codehaus.groovy.control.CompilerConfiguration getCompilerConfiguration()
Return this evaluator's compiler configuration (nevernull).- Since:
- 4.3.3
- See Also:
setCompilerConfiguration(org.codehaus.groovy.control.CompilerConfiguration)
setCompilationCustomizers
public void setCompilationCustomizers(org.codehaus.groovy.control.customizers.CompilationCustomizer... compilationCustomizers)
Set one or more customizers to be applied to this evaluator's compiler configuration.Note that this modifies the shared compiler configuration held by this evaluator.
- Since:
- 4.3.3
- See Also:
setCompilerConfiguration(org.codehaus.groovy.control.CompilerConfiguration)
setBeanClassLoader
public void setBeanClassLoader(ClassLoader classLoader)
Description copied from interface:BeanClassLoaderAwareCallback that supplies the beanclass loaderto a bean instance.Invoked after the population of normal bean properties but before an initialization callback such as
InitializingBean'sInitializingBean.afterPropertiesSet()method or a custom init-method.- Specified by:
setBeanClassLoaderin interfaceBeanClassLoaderAware- Parameters:
classLoader- the owning class loader; may benullin which case a defaultClassLoadermust be used, for example theClassLoaderobtained viaClassUtils.getDefaultClassLoader()
evaluate
public Object evaluate(ScriptSource script)
Description copied from interface:ScriptEvaluatorEvaluate the given script.- Specified by:
evaluatein interfaceScriptEvaluator- Parameters:
script- the ScriptSource for the script to evaluate- Returns:
- the return value of the script, if any
evaluate
public Object evaluate(ScriptSource script, Map<String,Object> arguments)
Description copied from interface:ScriptEvaluatorEvaluate the given script with the given arguments.- Specified by:
evaluatein interfaceScriptEvaluator- Parameters:
script- the ScriptSource for the script to evaluatearguments- the key-value pairs to expose to the script, typically as script variables (may benullor empty)- Returns:
- the return value of the script, if any