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