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