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.

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