# Module Scripting

Commands to launch additional script engines.

## Function Overview

createScriptEngine | Create a new script engine instance.
fork | Fork a new script engine and execute provided resource.
join | Wait for a script engine to shut down. If timeout is set to 0 this method will wait endlessly.
listScriptEngines | Retrieve a list of available script engines.

## Functions

### createScriptEngine

org.eclipse.ease.IScriptEngine createScriptEngine(java.lang.String identifier)

Create a new script engine instance.

Parameter | Type | Description
--- | --- | ---
identifier | java.lang.String | engine ID, literal engine name or accepted file extension

org.eclipse.ease.IScriptEngine ... script engine instance (not started) or `null`

### listScriptEngines

java.lang.String listScriptEngines()

Retrieve a list of available script engines.

java.lang.String ... array of engine IDs

### fork

org.eclipse.ease.IScriptEngine fork(java.lang.Object resource, java.lang.String arguments, java.lang.String engineID)

Fork a new script engine and execute provided resource.

Parameter | Type | Description
--- | --- | ---
resource | java.lang.Object | resource to execute (path, URI or file instance)
arguments | java.lang.String | optional script arguments
engineID | java.lang.String | engine ID to be used

org.eclipse.ease.IScriptEngine ... script engine instance or `null` in case of error

### join

boolean join(org.eclipse.ease.IScriptEngine engine, long timeout)

Wait for a script engine to shut down. If timeout is set to 0 this method will wait endlessly.

Parameter | Type | Description
--- | --- | ---
engine | org.eclipse.ease.IScriptEngine | script engine to wait for
timeout | long | time to wait for shutdown [ms]

boolean ... `true` when engine is shut down