Класс StreamingExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
- Все реализованные интерфейсы:
-
AutoCloseable,ExecutionControl
- Непосредственные известные подклассы:
JdiExecutionControl
public class StreamingExecutionControl extends Object implements ExecutionControl
Реализация SPI движка выполнения
ExecutionControl, которая передает запросы удаленному агенту, где происходит выполнение.- С момента:
- 9
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе jdk.jshell.spi.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- если вызов был отменён методом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://download.java.net/java/early_access/jdk24/docs/api/jdk.jshell/jdk/jshell/execution/StreamingExecutionControl.html