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 derived from the Jython / JPython engine

Author:
  James Strachan

### Field Summary

Fields
`protected GroovyShell` `shell`

### Fields inherited from class org.apache.bsf.util.BSFEngineImpl

`classLoader, classPath, declaredBeans, lang, mgr, tempDir`

### Constructor Summary

Constructors
Constructor and Description
`GroovyEngine()`

### Method Summary

Methods
`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