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

All Methods Instance Methods Concrete Methods
`java.lang.Object` `apply(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 invoked
`java.lang.Object` `call(java.lang.Object object, java.lang.String method, java.lang.Object[] args)` Call the named method of the given object.
`void` `declareBean(org.apache.bsf.BSFDeclaredBean bean)` Declare a bean
`java.lang.Object` `eval(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)` Evaluate an expression.
`void` `exec(java.lang.String source, int lineNo, int columnNo, java.lang.Object script)` Execute a script.
`protected GroovyShell` `getEvalShell()`
`void` `initialize(org.apache.bsf.BSFManager mgr, java.lang.String lang, java.util.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 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.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 java.lang.Object call(java.lang.Object object,
                                 java.lang.String method,
                                 java.lang.Object[] args)
                          throws org.apache.bsf.BSFException

Call 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.BSFException

Evaluate 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.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,
                           java.lang.String lang,
                           java.util.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