Package org.codehaus.groovy.jsr223

# Class GroovyScriptEngineFactory

java.lang.Object
org.codehaus.groovy.jsr223.GroovyScriptEngineFactory

All Implemented Interfaces:
  `ScriptEngineFactory`

public class GroovyScriptEngineFactory extends Object implements ScriptEngineFactory
A factory class conforming to JSR-223 which is used to instantiate Groovy `ScriptEngines` and also exposes metadata describing Groovy's engine class.

Author:
  Adapted from original by Mike Grogan, Adapted from original by A. Sundararajan, Jim White, Guillaume Laforge

## Constructor Summary

Constructors
Constructor
Description
`GroovyScriptEngineFactory()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getEngineName()`
`String`
`getEngineVersion()`
Note that the scripting.dev.java.net engine had this backwards.
`List<String>`
`getExtensions()`
`String`
`getLanguageName()`
This is also different than scripting.dev.java.net which used an initial lowercase.
`String`
`getLanguageVersion()`
`String`
`getMethodCallSyntax(String obj, String method, String... args)`
`List<String>`
`getMimeTypes()`
`List<String>`
`getNames()`
`String`
`getOutputStatement(String toDisplay)`
`Object`
`getParameter(String key)`
`String`
`getProgram(String... statements)`
`ScriptEngine`
`getScriptEngine()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### GroovyScriptEngineFactory

public GroovyScriptEngineFactory()

## Method Details

### getEngineName

public String getEngineName()

Specified by:
  `getEngineName` in interface `ScriptEngineFactory`

### getEngineVersion

public String getEngineVersion()
Note that the scripting.dev.java.net engine had this backwards. The engine version refers to this engine implementation. Whereas language version refers to the groovy implementation (which is obtained from the runtime).

Specified by:
  `getEngineVersion` in interface `ScriptEngineFactory`

### getLanguageName

public String getLanguageName()
This is also different than scripting.dev.java.net which used an initial lowercase. But these are proper names and should be capitalized.

Specified by:
  `getLanguageName` in interface `ScriptEngineFactory`

### getLanguageVersion

public String getLanguageVersion()

Specified by:
  `getLanguageVersion` in interface `ScriptEngineFactory`

### getExtensions

public List<String> getExtensions()

Specified by:
  `getExtensions` in interface `ScriptEngineFactory`

### getMimeTypes

public List<String> getMimeTypes()

Specified by:
  `getMimeTypes` in interface `ScriptEngineFactory`

### getNames

public List<String> getNames()

Specified by:
  `getNames` in interface `ScriptEngineFactory`

### getParameter

public Object getParameter(String key)

Specified by:
  `getParameter` in interface `ScriptEngineFactory`

### getScriptEngine

public ScriptEngine getScriptEngine()

Specified by:
  `getScriptEngine` in interface `ScriptEngineFactory`

### getMethodCallSyntax

public String getMethodCallSyntax(String obj, String method, String... args)

Specified by:
  `getMethodCallSyntax` in interface `ScriptEngineFactory`

### getOutputStatement

public String getOutputStatement(String toDisplay)

Specified by:
  `getOutputStatement` in interface `ScriptEngineFactory`

### getProgram

public String getProgram(String... statements)

Specified by:
  `getProgram` in interface `ScriptEngineFactory`