ExecutionControlProvider (Java SE 26 & JDK 26)
Description: declaration: module: jdk.jshell, package: jdk.jshell.spi, interface: ExecutionControlProvider
Keywords: jdk.jshell.spi.ExecutionControlProvider interface

# Interface ExecutionControlProvider

All Known Implementing Classes:
  `FailOverExecutionControlProvider, JdiExecutionControlProvider, LocalExecutionControlProvider`

public interface ExecutionControlProvider
The provider used by JShell to generate the execution engine needed to evaluate Snippets. Alternate execution engines can be created by implementing this interface, then configuring JShell with the provider or the providers name and parameter specifier.

Since:
  9

- ## Method Summary

  Modifier and Type
  Method
  Description
  `default Map<String,String>`
  `defaultParameters()`
  Create and return the default parameter map for this `ExecutionControlProvider`.
  `ExecutionControl`
  `generate(ExecutionEnv env, Map<String,String> parameters)`
  Create and return the `ExecutionControl` instance.
  `String`
  `name()`
  The unique name of this `ExecutionControlProvider`.

- ## Method Details

  - ### name

    String name()
    The unique name of this `ExecutionControlProvider`. The name must be a sequence of characters from the Basic Multilingual Plane which are `Character.isJavaIdentifierPart(char)`.
    Returns:
      the ExecutionControlProvider's name

  - ### defaultParameters

    default Map<String,String> defaultParameters()
    Create and return the default parameter map for this `ExecutionControlProvider`. The map can optionally be modified; Modified or unmodified it can be passed to `generate(jdk.jshell.spi.ExecutionEnv, java.util.Map)`.
    Returns:
      the default parameter map

  - ### generate

    ExecutionControl generate(ExecutionEnv env, Map<String,String> parameters) throws Throwable
    Create and return the `ExecutionControl` instance.
    Parameters:
      `env` - the execution environment, provided by JShell
      `parameters` - the default or modified parameter map.
    Returns:
      the execution engine
    Throws:
      `Throwable` - an exception that occurred attempting to create the execution engine.