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 and Description
    --- | ---
    `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
    Modifier and Type | Method and 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 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