LoaderDelegate (Java SE 13 & JDK 13 )
Description: declaration: module: jdk.jshell, package: jdk.jshell.execution, interface: LoaderDelegate
Keywords: jdk.jshell.execution.LoaderDelegate interface

Module jdk.jshell
Package jdk.jshell.execution

# Interface LoaderDelegate

    public interface LoaderDelegate

This interface specifies the loading specific subset of `ExecutionControl`. For use in encapsulating the `ClassLoader` implementation.

Since:
  9

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `void` | `addToClasspath​(String path)` | Adds the path to the execution class path.
  `void` | `classesRedefined​(ExecutionControl.ClassBytecodes[] cbcs)` | Notify that classes have been redefined.
  `Class<?>` | `findClass​(String name)` | Finds the class with the specified binary name.
  `void` | `load​(ExecutionControl.ClassBytecodes[] cbcs)` | Attempts to load new classes.

- ## Method Details

  - ### load

    void load​(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException
    Attempts to load new classes.
    Parameters:
      `cbcs` - the class name and bytecodes to load
    Throws:
      `ExecutionControl.ClassInstallException` - exception occurred loading the classes, some or all were not loaded
      `ExecutionControl.NotImplementedException` - if not implemented
      `ExecutionControl.EngineTerminationException` - the execution engine has terminated

  - ### classesRedefined

    void classesRedefined​(ExecutionControl.ClassBytecodes[] cbcs)
    Notify that classes have been redefined.
    Parameters:
      `cbcs` - the class names and bytecodes that have been redefined

  - ### addToClasspath

    void addToClasspath​(String path) throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
    Adds the path to the execution class path.
    Parameters:
      `path` - the path to add
    Throws:
      `ExecutionControl.EngineTerminationException` - the execution engine has terminated
      `ExecutionControl.InternalException` - an internal problem occurred

  - ### findClass

    Class<?> findClass​(String name) throws ClassNotFoundException
    Finds the class with the specified binary name.
    Parameters:
      `name` - the binary name of the class
    Returns:
      the Class Object
    Throws:
      `ClassNotFoundException` - if the class could not be found