Package org.codehaus.groovy.bsf
Class GroovyEngine
java.lang.Object
org.apache.bsf.util.BSFEngineImpl
org.codehaus.groovy.bsf.GroovyEngine
- All Implemented Interfaces:
java.beans.PropertyChangeListener,java.util.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 GroovyShellshellFields 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 java.lang.Objectapply(java.lang.String source, int lineNo, int columnNo, java.lang.Object funcBody, java.util.Vector paramNames, java.util.Vector arguments)Allow an anonymous function to be declared and invokedjava.lang.Objectcall(java.lang.Object object, java.lang.String method, java.lang.Object[] args)Call the named method of the given object.voiddeclareBean(org.apache.bsf.BSFDeclaredBean bean)Declare a beanjava.lang.Objecteval(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)Evaluate an expression.voidexec(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)Execute a script.protected GroovyShellgetEvalShell()voidinitialize(org.apache.bsf.BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans)Initialize the engine.voidundeclareBean(org.apache.bsf.BSFDeclaredBean bean)Undeclare a previously declared bean.Methods inherited from class org.apache.bsf.util.BSFEngineImpl
compileApply, compileExpr, compileScript, iexec, propertyChange, terminateMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
shell
-
-
Constructor Details
-
GroovyEngine
public GroovyEngine()
-
-
Method Details
-
apply
public java.lang.Object apply(java.lang.String source, int lineNo, int columnNo, java.lang.Object funcBody, java.util.Vector paramNames, java.util.Vector arguments) throws org.apache.bsf.BSFExceptionAllow an anonymous function to be declared and invoked- Specified by:
applyin interfaceorg.apache.bsf.BSFEngine- Overrides:
applyin classorg.apache.bsf.util.BSFEngineImpl- Throws:
org.apache.bsf.BSFException
-
call
public java.lang.Object call(java.lang.Object object, java.lang.String method, java.lang.Object[] args) throws org.apache.bsf.BSFExceptionCall the named method of the given object.- Throws:
org.apache.bsf.BSFException
-
eval
public java.lang.Object eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object script) throws org.apache.bsf.BSFExceptionEvaluate an expression.- Throws:
org.apache.bsf.BSFException
-
exec
public void exec(java.lang.String source, int lineNo, int columnNo, java.lang.Object script) throws org.apache.bsf.BSFExceptionExecute a script.- Specified by:
execin interfaceorg.apache.bsf.BSFEngine- Overrides:
execin classorg.apache.bsf.util.BSFEngineImpl- Throws:
org.apache.bsf.BSFException
-
initialize
public void initialize(org.apache.bsf.BSFManager mgr, java.lang.String lang, java.util.Vector declaredBeans) throws org.apache.bsf.BSFExceptionInitialize the engine.- Specified by:
initializein interfaceorg.apache.bsf.BSFEngine- Overrides:
initializein 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:
declareBeanin interfaceorg.apache.bsf.BSFEngine- Overrides:
declareBeanin 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:
undeclareBeanin interfaceorg.apache.bsf.BSFEngine- Overrides:
undeclareBeanin 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
-