Package: org.codehaus.groovy.jsr223

## [Java] Class GroovyScriptEngineFactory

- org.codehaus.groovy.jsr223.GroovyScriptEngineFactory

- All Implemented Interfaces and Traits:
    ScriptEngineFactory

      public class GroovyScriptEngineFactory

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

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

- - ### Methods Summary

    Methods
    Type Params | Return Type | Name and 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()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, toString, hashCode, getClass, notify, notifyAll, wait, wait, wait`

- - ### Method Detail

    - #### public String getEngineName()

    - #### 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).

    - #### public List<String> getExtensions()

    - #### 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.

    - #### public String getLanguageVersion()

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

    - #### public List<String> getMimeTypes()

    - #### public List<String> getNames()

    - #### public String getOutputStatement(String toDisplay)

    - #### public Object getParameter(String key)

    - #### public String getProgram(String... statements)

    - #### public ScriptEngine getScriptEngine()