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

Module jdk.jshell
Package jdk.jshell.spi

# Interface ExecutionEnv

public interface ExecutionEnv
Functionality made available to a pluggable JShell execution engine. It is provided to the execution engine by the core JShell implementation.

This interface is designed to provide the access to core JShell functionality needed to implement ExecutionControl.

Since:
  9
See Also:
  - `ExecutionControl`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `closeDown()`
  Reports that the execution engine has shutdown.
  `List<String>`
  `extraRemoteVMOptions()`
  Returns the additional VM options to be used when launching the remote JVM.
  `PrintStream`
  `userErr()`
  Returns the user's error stream.
  `InputStream`
  `userIn()`
  Returns the user's input stream.
  `PrintStream`
  `userOut()`
  Returns the user's output stream.

- ## Method Details

  - ### userIn

    InputStream userIn()
    Returns the user's input stream.
    Returns:
      the user's input stream

  - ### userOut

    PrintStream userOut()
    Returns the user's output stream.
    Returns:
      the user's output stream

  - ### userErr

    PrintStream userErr()
    Returns the user's error stream.
    Returns:
      the user's error stream

  - ### extraRemoteVMOptions

    List<String> extraRemoteVMOptions()
    Returns the additional VM options to be used when launching the remote JVM. This is advice to the execution engine.

    Note: an execution engine need not launch a remote JVM.

    Returns:
      the additional options with which to launch the remote JVM

  - ### closeDown

    void closeDown()
    Reports that the execution engine has shutdown.