Package org.codehaus.groovy.bsf
Class GroovyEngine
java.lang.Object
org.apache.bsf.util.BSFEngineImpl
org.codehaus.groovy.bsf.GroovyEngine
- All Implemented Interfaces:
PropertyChangeListener
,EventListener
,org.apache.bsf.BSFEngine
- Direct Known Subclasses:
CachingGroovyEngine
public class GroovyEngine
extends org.apache.bsf.util.BSFEngineImpl
A BSF Engine for the Groovy scripting language.
It's inspired from the Jython engine
-
Field Summary
Fields Modifier and Type Field Description protected GroovyShell
shell
Fields inherited from class org.apache.bsf.util.BSFEngineImpl
classLoader, classPath, declaredBeans, lang, mgr, tempDir
-
Constructor Summary
Constructors Constructor Description GroovyEngine()
-
Method Summary
Modifier and Type Method Description Object
apply(String source, int lineNo, int columnNo, Object funcBody, Vector paramNames, Vector arguments)
Allow an anonymous function to be declared and invokedObject
call(Object object, String method, Object[] args)
Call the named method of the given object.void
declareBean(org.apache.bsf.BSFDeclaredBean bean)
Declare a beanObject
eval(String source, int lineNo, int columnNo, Object script)
Evaluate an expression.void
exec(String source, int lineNo, int columnNo, Object script)
Execute a script.protected GroovyShell
getEvalShell()
void
initialize(org.apache.bsf.BSFManager mgr, String lang, Vector declaredBeans)
Initialize the engine.void
undeclareBean(org.apache.bsf.BSFDeclaredBean bean)
Undeclare a previously declared bean.Methods inherited from class org.apache.bsf.util.BSFEngineImpl
compileApply, compileExpr, compileScript, iexec, propertyChange, terminate
-
Field Details
-
shell
-
-
Constructor Details
-
GroovyEngine
public GroovyEngine()
-
-
Method Details
-
apply
public Object apply(String source, int lineNo, int columnNo, Object funcBody, Vector paramNames, Vector arguments) throws org.apache.bsf.BSFExceptionAllow an anonymous function to be declared and invoked- Specified by:
apply
in interfaceorg.apache.bsf.BSFEngine
- Overrides:
apply
in classorg.apache.bsf.util.BSFEngineImpl
- Throws:
org.apache.bsf.BSFException
-
call
Call the named method of the given object.- Throws:
org.apache.bsf.BSFException
-
eval
public Object eval(String source, int lineNo, int columnNo, Object script) throws org.apache.bsf.BSFExceptionEvaluate an expression.- Throws:
org.apache.bsf.BSFException
-
exec
public void exec(String source, int lineNo, int columnNo, Object script) throws org.apache.bsf.BSFExceptionExecute a script.- Specified by:
exec
in interfaceorg.apache.bsf.BSFEngine
- Overrides:
exec
in classorg.apache.bsf.util.BSFEngineImpl
- Throws:
org.apache.bsf.BSFException
-
initialize
public void initialize(org.apache.bsf.BSFManager mgr, String lang, Vector declaredBeans) throws org.apache.bsf.BSFExceptionInitialize the engine.- Specified by:
initialize
in interfaceorg.apache.bsf.BSFEngine
- Overrides:
initialize
in classorg.apache.bsf.util.BSFEngineImpl
- Throws:
org.apache.bsf.BSFException
-
declareBean
public void declareBean(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFExceptionDeclare a bean- Specified by:
declareBean
in interfaceorg.apache.bsf.BSFEngine
- Overrides:
declareBean
in classorg.apache.bsf.util.BSFEngineImpl
- Throws:
org.apache.bsf.BSFException
-
undeclareBean
public void undeclareBean(org.apache.bsf.BSFDeclaredBean bean) throws org.apache.bsf.BSFExceptionUndeclare a previously declared bean.- Specified by:
undeclareBean
in interfaceorg.apache.bsf.BSFEngine
- Overrides:
undeclareBean
in classorg.apache.bsf.util.BSFEngineImpl
- Throws:
org.apache.bsf.BSFException
-
getEvalShell
- Returns:
- a newly created GroovyShell using the same variable scope but a new class loader
-