org.codehaus.groovy.bsf
Class GroovyEngine

java.lang.Object
  extended by org.apache.bsf.util.BSFEngineImpl
      extended by 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 derived from the Jython / JPython engine

Author:
James Strachan

Field Summary
protected  GroovyShell shell
           
 
Fields inherited from class org.apache.bsf.util.BSFEngineImpl
classLoader, classPath, declaredBeans, lang, mgr, tempDir
 
Constructor Summary
GroovyEngine()
           
 
Method Summary
 Object apply(String source, int lineNo, int columnNo, Object funcBody, Vector paramNames, Vector arguments)
          Allow an anonymous function to be declared and invoked
 Object call(Object object, String method, Object[] args)
          Call the named method of the given object.
 void declareBean(org.apache.bsf.BSFDeclaredBean bean)
          Declare a bean
 Object 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

shell

protected GroovyShell shell
Constructor Detail

GroovyEngine

public GroovyEngine()
Method Detail

apply

public Object apply(String source,
                    int lineNo,
                    int columnNo,
                    Object funcBody,
                    Vector paramNames,
                    Vector arguments)
             throws org.apache.bsf.BSFException
Allow an anonymous function to be declared and invoked

Specified by:
apply in interface org.apache.bsf.BSFEngine
Overrides:
apply in class org.apache.bsf.util.BSFEngineImpl
Throws:
org.apache.bsf.BSFException

call

public Object call(Object object,
                   String method,
                   Object[] args)
            throws org.apache.bsf.BSFException
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.BSFException
Evaluate an expression.

Throws:
org.apache.bsf.BSFException

exec

public void exec(String source,
                 int lineNo,
                 int columnNo,
                 Object script)
          throws org.apache.bsf.BSFException
Execute a script.

Specified by:
exec in interface org.apache.bsf.BSFEngine
Overrides:
exec in class org.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.BSFException
Initialize the engine.

Specified by:
initialize in interface org.apache.bsf.BSFEngine
Overrides:
initialize in class org.apache.bsf.util.BSFEngineImpl
Throws:
org.apache.bsf.BSFException

declareBean

public void declareBean(org.apache.bsf.BSFDeclaredBean bean)
                 throws org.apache.bsf.BSFException
Declare a bean

Specified by:
declareBean in interface org.apache.bsf.BSFEngine
Overrides:
declareBean in class org.apache.bsf.util.BSFEngineImpl
Throws:
org.apache.bsf.BSFException

undeclareBean

public void undeclareBean(org.apache.bsf.BSFDeclaredBean bean)
                   throws org.apache.bsf.BSFException
Undeclare a previously declared bean.

Specified by:
undeclareBean in interface org.apache.bsf.BSFEngine
Overrides:
undeclareBean in class org.apache.bsf.util.BSFEngineImpl
Throws:
org.apache.bsf.BSFException

getEvalShell

protected GroovyShell getEvalShell()
Returns:
a newly created GroovyShell using the same variable scope but a new class loader

Copyright © 2003-2010 The Codehaus. All rights reserved.