Package 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 inspired from the Jython engine

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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | 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