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

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