Package org.codehaus.groovy.jsr223

# Class GroovyScriptEngineImpl

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

All Implemented Interfaces:
  `Compilable`, `Invocable`, `ScriptEngine`

    public class GroovyScriptEngineImpl
    extends AbstractScriptEngine
    implements Compilable, 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

  Modifier and Type | Method | Description
  --- | --- | ---
  `CompiledScript` | `compile​(Reader reader)` |
  `CompiledScript` | `compile​(String scriptSource)` |
  `Bindings` | `createBindings()` |
  `Object` | `eval​(Reader reader, ScriptContext ctx)` |
  `Object` | `eval​(String script, ScriptContext ctx)` |
  `GroovyClassLoader` | `getClassLoader()` |
  `ScriptEngineFactory` | `getFactory()` |
  `<T> T` | `getInterface​(Class<T> clazz)` |
  `<T> T` | `getInterface​(Object thiz, Class<T> clazz)` |
  `Object` | `invokeFunction​(String name, Object... args)` |
  `Object` | `invokeMethod​(Object thiz, String name, 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 Details

  - ### GroovyScriptEngineImpl

    public GroovyScriptEngineImpl()

  - ### GroovyScriptEngineImpl

    public GroovyScriptEngineImpl​(GroovyClassLoader classLoader)

- ## Method Details

  - ### eval

    public Object eval​(Reader reader, ScriptContext ctx) throws ScriptException
    Specified by:
      `eval` in interface `ScriptEngine`
    Throws:
      `ScriptException`

  - ### eval

    public Object eval​(String script, ScriptContext ctx) throws ScriptException
    Specified by:
      `eval` in interface `ScriptEngine`
    Throws:
      `ScriptException`

  - ### createBindings

    public Bindings createBindings()
    Specified by:
      `createBindings` in interface `ScriptEngine`

  - ### getFactory

    public ScriptEngineFactory getFactory()
    Specified by:
      `getFactory` in interface `ScriptEngine`

  - ### compile

    public CompiledScript compile​(String scriptSource) throws ScriptException
    Specified by:
      `compile` in interface `Compilable`
    Throws:
      `ScriptException`

  - ### compile

    public CompiledScript compile​(Reader reader) throws ScriptException
    Specified by:
      `compile` in interface `Compilable`
    Throws:
      `ScriptException`

  - ### invokeFunction

    public Object invokeFunction​(String name, Object... args) throws ScriptException, NoSuchMethodException
    Specified by:
      `invokeFunction` in interface `Invocable`
    Throws:
      `ScriptException`
      `NoSuchMethodException`

  - ### invokeMethod

    public Object invokeMethod​(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException
    Specified by:
      `invokeMethod` in interface `Invocable`
    Throws:
      `ScriptException`
      `NoSuchMethodException`

  - ### getInterface

    public <T> T getInterface​(Class<T> clazz)
    Specified by:
      `getInterface` in interface `Invocable`

  - ### getInterface

    public <T> T getInterface​(Object thiz, Class<T> clazz)
    Specified by:
      `getInterface` in interface `Invocable`

  - ### setClassLoader

    public void setClassLoader​(GroovyClassLoader classLoader)

  - ### getClassLoader

    public GroovyClassLoader getClassLoader()