LoaderDelegate (Java SE 12 & JDK 12 )
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 Detail

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