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.
  Author:
    Adapted from original by Mike Grogan, Adapted from original by A. Sundararajan, Jim White, Guillaume Laforge, Jochen Theodorou

- - ### 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 and Description
    `GroovyScriptEngineImpl()`
    `GroovyScriptEngineImpl(GroovyClassLoader classLoader)`

  - ### Method Summary

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