org.eclipse.ease

## Interface IReplEngine

All Superinterfaces:
  IScriptEngine

All Known Implementing Classes:
  AbstractReplScriptEngine, JythonDebuggerEngine, JythonScriptEngine, NashornScriptEngine, Py4jDebuggerEngine, Py4jScriptEngine, RhinoDebuggerEngine, RhinoScriptEngine

    public interface IReplEngine
    extends IScriptEngine

### Field Summary

### Fields inherited from interface org.eclipse.ease.IScriptEngine

`TRACE_SCRIPT_ENGINE`

### Method Summary

All Methods Instance Methods Abstract Methods
`java.util.Collection<EaseDebugVariable>` `getDefinedVariables()` Get variables defined on the top level scope of the script engine.
`EaseDebugVariable` `getLastExecutionResult()` Get the result of the last script execution.
`boolean` `getTerminateOnIdle()` Get termination condition when engine is idle.
`ScriptObjectType` `getType(java.lang.Object object)` Get type information on a given script object
`boolean` `isIdle()` Returns the execution state of the engine.
`void` `setTerminateOnIdle(boolean terminate)` Set a marker that the interpreter should terminate instead entering IDLE mode.
`java.lang.String` `toString(java.lang.Object object)` Get the String representation of a script object.

### Methods inherited from interface org.eclipse.ease.IScriptEngine

`addExecutionListener, addSecurityCheck, executeAsync, executeSync, getDescription, getErrorStream, getExecutedFile, getInputStream, getLaunch, getMonitor, getName, getOutputStream, getVariable, getVariables, hasVariable, inject, injectUI, isFinished, join, registerJar, removeExecutionListener, removeSecurityCheck, schedule, setCloseStreamsOnTerminate, setErrorStream, setInputStream, setOutputStream, setVariable, terminate, terminateCurrent`

### Method Detail

#### isIdle

    boolean isIdle()

Returns the execution state of the engine. If the engine is processing code or is terminated this will return `false`. If the engine is waiting for further scripts to execute this will return `true`.

Returns:
  execution state.

#### setTerminateOnIdle

    void setTerminateOnIdle(boolean terminate)

Set a marker that the interpreter should terminate instead entering IDLE mode. If set, the interpreter will execute all pending requests and terminate afterwards.

Parameters:
  `terminate` - `true` to request termination

#### getTerminateOnIdle

    boolean getTerminateOnIdle()

Get termination condition when engine is idle.

Returns:
  `true` when engine is terminated when idle

#### getDefinedVariables

    java.util.Collection<EaseDebugVariable> getDefinedVariables()

Get variables defined on the top level scope of the script engine.

Returns:
  defined variables

#### getType

    ScriptObjectType getType(java.lang.Object object)

Get type information on a given script object

Parameters:
  `object` - object to inspect
Returns:
  object type

#### toString

    java.lang.String toString(java.lang.Object object)

Get the String representation of a script object. A script object can be an execution result or a variable content.

Parameters:
  `object` - script object
Returns:
  String representation

#### getLastExecutionResult

    EaseDebugVariable getLastExecutionResult()

Get the result of the last script execution.

Returns:
  script result of last execution