Класс StreamingExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
- Все реализуемые интерфейсы:
AutoCloseable, ExecutionControl
- Прямые известные подклассы:
JdiExecutionControl
public class StreamingExecutionControl extends Object implements ExecutionControl
Реализация SPI интерфейса
ExecutionControl для движка выполнения, которая передаёт запросы удалённому агенту, где они выполняются.- Начиная с:
- 9
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamingExecutionControl |
Создаёт экземпляр. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addToClasspath |
Добавляет путь в путь классов для выполнения. |
void |
close() |
Закрывает движок выполнения. |
Object |
extensionCommand |
Выполняет нестандартную команду (или стандартную команду из более новой версии). |
String |
invoke |
Вызывает исполняемый фрагмент кода, вызывая метод указанного класса-обёртки. |
void |
load |
Пытается загрузить новые классы. |
void |
redefine |
Пытается переопределить ранее загруженные классы. |
void |
stop() |
Прерывает выполняющийся вызов. |
String |
varValue |
Возвращает значение переменной. |
Подробное описание конструкторов
StreamingExecutionControl
public StreamingExecutionControl(ObjectOutput out, ObjectInput in)
Создаёт экземпляр.
- Параметры:
-
out— поток вывода для команд -
in— поток ввода для ответов на команды
Подробное описание методов
load
public void load(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException
Описание скопировано из интерфейса:
ExecutionControlПытается загрузить новые классы.
- Определён в:
-
loadв интерфейсеExecutionControl - Параметры:
-
cbcs— имя класса и байт-код для загрузки - Исключения:
-
ExecutionControl.ClassInstallException— при загрузке классов возникло исключение; некоторые или все классы не были загружены -
ExecutionControl.NotImplementedException— если реализация отсутствует -
ExecutionControl.EngineTerminationException— движок выполнения завершил работу
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.NotImplementedException, ExecutionControl.EngineTerminationException
Описание скопировано из интерфейса:
ExecutionControlПытается переопределить ранее загруженные классы.
- Определён в:
-
redefineв интерфейсеExecutionControl - Параметры:
-
cbcs— имя класса и байт-код для переопределения - Исключения:
-
ExecutionControl.ClassInstallException— при переопределении классов возникло исключение; некоторые или все классы не были переопределены -
ExecutionControl.NotImplementedException— если реализация отсутствует -
ExecutionControl.EngineTerminationException— движок выполнения завершил работу
invoke
public String invoke(String classname, String methodname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlВызывает исполняемый фрагмент кода, вызывая метод указанного класса-обёртки. Метод не должен иметь аргументов и должен возвращать String.
- Определён в:
-
invokeв интерфейсеExecutionControl - Параметры:
-
classname— класс, метод которого следует вызвать -
methodname— имя вызываемого метода - Возвращает:
- результат выполнения или null, если результата нет
- Исключения:
-
ExecutionControl.UserException— при вызове возникло пользовательское исключение -
ExecutionControl.ResolutionException— при вызове была предпринята прямая или косвенная попытка вызвать неразрешённый фрагмент кода -
ExecutionControl.StoppedException— еслиinvoke()был отменён с помощьюExecutionControl.stop() -
ExecutionControl.EngineTerminationException— движок выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема ExecutionControl.RunException
varValue
public String varValue(String classname, String varname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlВозвращает значение переменной.
- Определён в:
-
varValueв интерфейсеExecutionControl - Параметры:
-
classname— имя класса-обёртки переменной -
varname— имя переменной - Возвращает:
- значение переменной
- Исключения:
-
ExecutionControl.UserException— при форматировании значения возникло пользовательское исключение -
ExecutionControl.ResolutionException— при форматировании значения была предпринята прямая или косвенная попытка вызвать неразрешённый фрагмент кода -
ExecutionControl.StoppedException— если форматирование значения было отменено с помощьюExecutionControl.stop() -
ExecutionControl.EngineTerminationException— движок выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема ExecutionControl.RunException
addToClasspath
public void addToClasspath(String path) throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlДобавляет путь в путь классов для выполнения.
- Определён в:
-
addToClasspathв интерфейсеExecutionControl - Параметры:
-
path— добавляемый путь - Исключения:
-
ExecutionControl.EngineTerminationException— движок выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема
stop
public void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlПрерывает выполняющийся вызов.
- Определён в:
-
stopв интерфейсеExecutionControl - Исключения:
-
ExecutionControl.EngineTerminationException— движок выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема
extensionCommand
public Object extensionCommand(String command, Object arg) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlВыполняет нестандартную команду (или стандартную команду из более новой версии).
- Определён в:
-
extensionCommandв интерфейсеExecutionControl - Параметры:
-
command— нестандартная команда -
arg— аргумент команды - Возвращает:
- возвращаемое значение команды
- Исключения:
-
ExecutionControl.UserException— при выполнении команды возникло пользовательское исключение -
ExecutionControl.ResolutionException— при выполнении команды была предпринята прямая или косвенная попытка вызвать неразрешённый фрагмент кода -
ExecutionControl.StoppedException— если команда была отменена с помощьюExecutionControl.stop() -
ExecutionControl.EngineTerminationException— движок выполнения завершил работу -
ExecutionControl.NotImplementedException— если реализация отсутствует -
ExecutionControl.InternalException— возникла внутренняя проблема ExecutionControl.RunException
close
public void close()
Закрывает движок выполнения. Отправляет удалённому агенту команду выхода.
- Определён в:
-
closeв интерфейсеAutoCloseable - Определён в:
-
closeв интерфейсеExecutionControl
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jshell/jdk/jshell/execution/StreamingExecutionControl.html