ExecutionEnv (Java SE 10 & JDK 10 )
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

    All Methods Instance Methods Abstract Methods
    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 Detail

    - #### 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.