# Uses of Package
jdk.jshell.spi

- Packages that use jdk.jshell.spi
  Package | Description
  --- | ---
  jdk.jshell | Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.
  jdk.jshell.execution | Provides implementation support for building JShell execution engines.
  jdk.jshell.spi | Defines the Service Provider Interface for pluggable JShell execution engines.

- Classes in jdk.jshell.spi used by jdk.jshell
  Class | Description
  --- | ---
  ExecutionControlProvider | The provider used by JShell to generate the execution engine needed to evaluate Snippets.

- Classes in jdk.jshell.spi used by jdk.jshell.execution
  Class | Description
  --- | ---
  ExecutionControl | This interface specifies the functionality that must provided to implement a pluggable JShell execution engine.
  ExecutionControl.ClassBytecodes | Bundles class name with class bytecodes.
  ExecutionControl.ClassInstallException | A class install (load or redefine) encountered a problem.
  ExecutionControl.EngineTerminationException | Unbidden execution engine termination has occurred.
  ExecutionControl.InternalException | An internal problem has occurred.
  ExecutionControl.NotImplementedException | The command is not implemented.
  ExecutionControl.RunException | The abstract base of of exceptions specific to running user code.
  ExecutionControlProvider | The provider used by JShell to generate the execution engine needed to evaluate Snippets.
  ExecutionEnv | Functionality made available to a pluggable JShell execution engine.

- Classes in jdk.jshell.spi used by jdk.jshell.spi
  Class | Description
  --- | ---
  ExecutionControl | This interface specifies the functionality that must provided to implement a pluggable JShell execution engine.
  ExecutionControl.ClassBytecodes | Bundles class name with class bytecodes.
  ExecutionControl.ClassInstallException | A class install (load or redefine) encountered a problem.
  ExecutionControl.EngineTerminationException | Unbidden execution engine termination has occurred.
  ExecutionControl.ExecutionControlException | The abstract base of all `ExecutionControl` exceptions.
  ExecutionControl.InternalException | An internal problem has occurred.
  ExecutionControl.NotImplementedException | The command is not implemented.
  ExecutionControl.RunException | The abstract base of of exceptions specific to running user code.
  ExecutionEnv | Functionality made available to a pluggable JShell execution engine.