Module jdk.jshell
Package jdk.jshell.execution

## Class JdiExecutionControlProvider

- java.lang.Object
- - jdk.jshell.execution.JdiExecutionControlProvider

All Implemented Interfaces:
  `ExecutionControlProvider`

    public class JdiExecutionControlProvider
    extends Object
    implements ExecutionControlProvider

A provider of remote JDI-controlled execution engines.

Since:
  9

### Field Summary

Fields
`static String` `PARAM_HOST_NAME` The local hostname to connect to.
`static String` `PARAM_LAUNCH` Should JDI-controlled launching be used?
`static String` `PARAM_REMOTE_AGENT` The remote agent to launch.
`static String` `PARAM_TIMEOUT` Milliseconds before connect timeout.

### Constructor Summary

Constructors
`JdiExecutionControlProvider()` Create an instance.

### Method Summary

All Methods Instance Methods Concrete Methods
`Map<String,​String>` `defaultParameters()` Create and return the default parameter map for this `ExecutionControlProvider`.
`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`

### Methods declared in interface jdk.jshell.spi.ExecutionControlProvider

`generate`

### Field Detail

#### PARAM_REMOTE_AGENT

    public static final String PARAM_REMOTE_AGENT

The remote agent to launch.

See Also:
  Constant Field Values

#### PARAM_TIMEOUT

    public static final String PARAM_TIMEOUT

Milliseconds before connect timeout.

See Also:
  Constant Field Values

#### PARAM_HOST_NAME

    public static final String PARAM_HOST_NAME

The local hostname to connect to.

See Also:
  Constant Field Values

#### PARAM_LAUNCH

    public static final String PARAM_LAUNCH

Should JDI-controlled launching be used?

See Also:
  Constant Field Values

### Constructor Detail

#### JdiExecutionControlProvider

    public JdiExecutionControlProvider()

Create an instance. An instance can be used to generate an `ExecutionControl` instance that uses the Java Debug Interface as part of the control of a remote process.

### Method Detail

#### name

    public String name()

The unique name of this `ExecutionControlProvider`.

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

#### defaultParameters

    public 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 `ExecutionControlProvider.generate(jdk.jshell.spi.ExecutionEnv, java.util.Map)`.

Parameters
Parameter | Description | Constant Field
--- | --- | ---
remoteAgent | the remote agent to launch | `PARAM_REMOTE_AGENT`
timeout | milliseconds before connect timeout | `PARAM_TIMEOUT`
launch | "true" for JDI controlled launch | `PARAM_LAUNCH`
hostname | connect to the named of the local host ("" for discovered) | `PARAM_HOST_NAME`

Specified by:
  `defaultParameters` in interface `ExecutionControlProvider`
Returns:
  the default parameter map