Package org.codehaus.groovy.jsr223

## Class GroovyScriptEngineImpl

- java.lang.Object
- - javax.script.AbstractScriptEngine
  - - org.codehaus.groovy.jsr223.GroovyScriptEngineImpl

- All Implemented Interfaces:
    `javax.script.Compilable`, `javax.script.Invocable`, `javax.script.ScriptEngine`

      public class GroovyScriptEngineImpl
      extends javax.script.AbstractScriptEngine
      implements javax.script.Compilable, javax.script.Invocable

  JSR-223 Engine implementation. Adapted from original by Mike Grogan and A. Sundararajan

- - ### Field Summary

    - ### Fields inherited from class javax.script.AbstractScriptEngine

      `context`

    - ### Fields inherited from interface javax.script.ScriptEngine

      `ARGV, ENGINE, ENGINE_VERSION, FILENAME, LANGUAGE, LANGUAGE_VERSION, NAME`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `GroovyScriptEngineImpl()` |
    `GroovyScriptEngineImpl​(GroovyClassLoader classLoader)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `javax.script.CompiledScript` | `compile​(java.io.Reader reader)` |
    `javax.script.CompiledScript` | `compile​(java.lang.String scriptSource)` |
    `javax.script.Bindings` | `createBindings()` |
    `java.lang.Object` | `eval​(java.io.Reader reader, javax.script.ScriptContext ctx)` |
    `java.lang.Object` | `eval​(java.lang.String script, javax.script.ScriptContext ctx)` |
    `GroovyClassLoader` | `getClassLoader()` |
    `javax.script.ScriptEngineFactory` | `getFactory()` |
    `<T> T` | `getInterface​(java.lang.Class<T> clazz)` |
    `<T> T` | `getInterface​(java.lang.Object thiz, java.lang.Class<T> clazz)` |
    `java.lang.Object` | `invokeFunction​(java.lang.String name, java.lang.Object... args)` |
    `java.lang.Object` | `invokeMethod​(java.lang.Object thiz, java.lang.String name, java.lang.Object... args)` |
    `void` | `setClassLoader​(GroovyClassLoader classLoader)` |

    - ### Methods inherited from class javax.script.AbstractScriptEngine

      `eval, eval, eval, eval, get, getBindings, getContext, getScriptContext, put, setBindings, setContext`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### GroovyScriptEngineImpl

          public GroovyScriptEngineImpl()

    - #### GroovyScriptEngineImpl

          public GroovyScriptEngineImpl​(GroovyClassLoader classLoader)

  - ### Method Detail

    - #### eval

          public java.lang.Object eval​(java.io.Reader reader,
                                       javax.script.ScriptContext ctx)
                                throws javax.script.ScriptException

      Specified by:
        `eval` in interface `javax.script.ScriptEngine`
      Throws:
        `javax.script.ScriptException`

    - #### eval

          public java.lang.Object eval​(java.lang.String script,
                                       javax.script.ScriptContext ctx)
                                throws javax.script.ScriptException

      Specified by:
        `eval` in interface `javax.script.ScriptEngine`
      Throws:
        `javax.script.ScriptException`

    - #### createBindings

          public javax.script.Bindings createBindings()

      Specified by:
        `createBindings` in interface `javax.script.ScriptEngine`

    - #### getFactory

          public javax.script.ScriptEngineFactory getFactory()

      Specified by:
        `getFactory` in interface `javax.script.ScriptEngine`

    - #### compile

          public javax.script.CompiledScript compile​(java.lang.String scriptSource)
                                              throws javax.script.ScriptException

      Specified by:
        `compile` in interface `javax.script.Compilable`
      Throws:
        `javax.script.ScriptException`

    - #### compile

          public javax.script.CompiledScript compile​(java.io.Reader reader)
                                              throws javax.script.ScriptException

      Specified by:
        `compile` in interface `javax.script.Compilable`
      Throws:
        `javax.script.ScriptException`

    - #### invokeFunction

          public java.lang.Object invokeFunction​(java.lang.String name,
                                                 java.lang.Object... args)
                                          throws javax.script.ScriptException,
                                                 java.lang.NoSuchMethodException

      Specified by:
        `invokeFunction` in interface `javax.script.Invocable`
      Throws:
        `javax.script.ScriptException`
        `java.lang.NoSuchMethodException`

    - #### invokeMethod

          public java.lang.Object invokeMethod​(java.lang.Object thiz,
                                               java.lang.String name,
                                               java.lang.Object... args)
                                        throws javax.script.ScriptException,
                                               java.lang.NoSuchMethodException

      Specified by:
        `invokeMethod` in interface `javax.script.Invocable`
      Throws:
        `javax.script.ScriptException`
        `java.lang.NoSuchMethodException`

    - #### getInterface

          public <T> T getInterface​(java.lang.Class<T> clazz)

      Specified by:
        `getInterface` in interface `javax.script.Invocable`

    - #### getInterface

          public <T> T getInterface​(java.lang.Object thiz,
                                    java.lang.Class<T> clazz)

      Specified by:
        `getInterface` in interface `javax.script.Invocable`

    - #### setClassLoader

          public void setClassLoader​(GroovyClassLoader classLoader)

    - #### getClassLoader

          public GroovyClassLoader getClassLoader()