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

Author:
  James Strachan

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

### shell

protected GroovyShell 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.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