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()