# Class LocalExecutionControlProvider

java.lang.Object
jdk.jshell.execution.LocalExecutionControlProvider

All Implemented Interfaces:
  `ExecutionControlProvider`

public class LocalExecutionControlProvider extends Object implements ExecutionControlProvider
A provider of execution engines which run in the same process as JShell.

Since:
  9

## Constructor Summary

Constructors
Constructor
Description
`LocalExecutionControlProvider()`
Create an instance.

## Method Summary

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

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### LocalExecutionControlProvider

public LocalExecutionControlProvider()
Create an instance. An instance can be used to generate an `ExecutionControl` instance that executes code in the same process.

## Method Details

### name

public String name()
The unique name of this `ExecutionControlProvider`.

Specified by:
  `name` in interface `ExecutionControlProvider`
Returns:
  "local"

### defaultParameters

public Map<String,String> defaultParameters()
Create and return the default parameter map for `LocalExecutionControlProvider`. `LocalExecutionControlProvider` has no parameters.

Specified by:
  `defaultParameters` in interface `ExecutionControlProvider`
Returns:
  an empty parameter map

### generate

public ExecutionControl generate(ExecutionEnv env, Map<String,String> parameters)
Create and return a locally executing `ExecutionControl` instance.

Specified by:
  `generate` in interface `ExecutionControlProvider`
Parameters:
  `env` - the execution environment, provided by JShell
  `parameters` - the default or modified parameter map.
Returns:
  the execution engine

### createExecutionControl

public ExecutionControl createExecutionControl(ExecutionEnv env, Map<String,String> parameters)
Create a new `ExecutionControl` instance.

This method is invoked by `generate()`.

Parameters:
  `env` - the `ExecutionEnv` for which the `ExecutionControl` should be created
  `parameters` - the parameters that were passed to `generate()`
Returns:
  the newly created `ExecutionControl`
Since:
  22