Uses of Interface jdk.jshell.spi.ExecutionControl (Java SE 15 & JDK 15)
Description: use: module: jdk.jshell, package: jdk.jshell.spi, interface: ExecutionControl

# Uses of Interface
jdk.jshell.spi.ExecutionControl

Packages that use ExecutionControl
Package | Description
--- | ---
jdk.jshell.execution | Provides implementation support for building JShell execution engines.
jdk.jshell.spi | Defines the Service Provider Interface for pluggable JShell execution engines.

- ## Uses of ExecutionControl in jdk.jshell.execution

  Classes in jdk.jshell.execution that implement ExecutionControl
  Modifier and Type | Class | Description
  --- | --- | ---
  `class` | `DirectExecutionControl` | An `ExecutionControl` implementation that runs in the current process.
  `class` | `JdiDefaultExecutionControl` | The implementation of `ExecutionControl` that the JShell-core uses by default.
  `class` | `JdiExecutionControl` | Abstract JDI implementation of `ExecutionControl`.
  `class` | `LocalExecutionControl` | An implementation of `ExecutionControl` which executes in the same JVM as the JShell-core.
  `class` | `RemoteExecutionControl` | The remote agent runs in the execution process (separate from the main JShell process).
  `class` | `StreamingExecutionControl` | An implementation of the `ExecutionControl` execution engine SPI which streams requests to a remote agent where execution takes place.

  Methods in jdk.jshell.execution that return ExecutionControl
  Modifier and Type | Method | Description
  --- | --- | ---
  `ExecutionControl` | FailOverExecutionControlProvider.`generate​(ExecutionEnv env, Map<String,​String> parameters)` | Create and return a locally executing `ExecutionControl` instance.
  `ExecutionControl` | LocalExecutionControlProvider.`generate​(ExecutionEnv env, Map<String,​String> parameters)` | Create and return a locally executing `ExecutionControl` instance.
  `static ExecutionControl` | Util.`remoteInputOutput​(InputStream input, OutputStream output, Map<String,​OutputStream> outputStreamMap, Map<String,​InputStream> inputStreamMap, BiFunction<ObjectInput,​ObjectOutput,​ExecutionControl> factory)` | Creates an ExecutionControl for given packetized input and output.

  Methods in jdk.jshell.execution with parameters of type ExecutionControl
  Modifier and Type | Method | Description
  --- | --- | ---
  `static void` | Util.`forwardExecutionControl​(ExecutionControl ec, ObjectInput in, ObjectOutput out)` | Forward commands from the input to the specified `ExecutionControl` instance, then responses back on the output.
  `static void` | Util.`forwardExecutionControlAndIO​(ExecutionControl ec, InputStream inStream, OutputStream outStream, Map<String,​Consumer<OutputStream>> outputStreamMap, Map<String,​Consumer<InputStream>> inputStreamMap)` | Forward commands from the input to the specified `ExecutionControl` instance, then responses back on the output.

  Method parameters in jdk.jshell.execution with type arguments of type ExecutionControl
  Modifier and Type | Method | Description
  --- | --- | ---
  `static ExecutionControl` | Util.`remoteInputOutput​(InputStream input, OutputStream output, Map<String,​OutputStream> outputStreamMap, Map<String,​InputStream> inputStreamMap, BiFunction<ObjectInput,​ObjectOutput,​ExecutionControl> factory)` | Creates an ExecutionControl for given packetized input and output.

- ## Uses of ExecutionControl in jdk.jshell.spi

  Methods in jdk.jshell.spi that return ExecutionControl
  Modifier and Type | Method | Description
  --- | --- | ---
  `static ExecutionControl` | ExecutionControl.`generate​(ExecutionEnv env, String spec)` | Search for a provider, then create and return the `ExecutionControl` instance.
  `static ExecutionControl` | ExecutionControl.`generate​(ExecutionEnv env, String name, Map<String,​String> parameters)` | Search for a provider, then create and return the `ExecutionControl` instance.
  `ExecutionControl` | ExecutionControlProvider.`generate​(ExecutionEnv env, Map<String,​String> parameters)` | Create and return the `ExecutionControl` instance.