Класс 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- если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, 2021, 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/17/docs/api/jdk.jshell/jdk/jshell/execution/StreamingExecutionControl.html