Класс 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 | Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static final class |
ExecutionControl.ClassBytecodes |
Объединяет имя класса с байт-кодом класса. |
static class |
ExecutionControl.ClassInstallException |
При установке класса (загрузке или переопределении) возникла проблема. |
static class |
ExecutionControl.EngineTerminationException |
Произошло неожиданное завершение работы движка выполнения. |
static class |
ExecutionControl.ExecutionControlException |
Абстрактный базовый класс всех исключений ExecutionControl. |
static class |
ExecutionControl.InternalException |
Произошла внутренняя ошибка. |
static class |
ExecutionControl.NotImplementedException |
Команда не реализована. |
static class |
ExecutionControl.ResolutionException |
Исключение, указывающее на то, что обнаружен DeclarationSnippet с неразрешёнными ссылками. |
static class |
ExecutionControl.RunException |
Абстрактный базовый класс исключений, специфичных для выполнения пользовательского кода. |
static class |
ExecutionControl.StoppedException |
Исключение, указывающее на то, что ExecutionControl.invoke(java.lang.String, java.lang.String) (или, теоретически, ExecutionControl.varValue(java.lang.String, java.lang.String)) было прервано вызовом ExecutionControl.stop(). |
static class |
ExecutionControl.UserException |
Произошло обычное пользовательское исключение. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
StreamingExecutionControl |
Создаёт экземпляр. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addToClasspath |
Добавляет путь в путь классов выполнения. |
void |
close() |
Закрывает движок выполнения. |
Object |
extensionCommand |
Выполняет нестандартную команду (или стандартную команду из более новой версии). |
String |
invoke |
Вызывает исполняемый фрагмент кода, вызывая метод указанного класса-обёртки. |
void |
load |
Пытается загрузить новые классы. |
void |
redefine |
Пытается переопределить ранее загруженные классы. |
void |
stop() |
Прерывает выполняющийся вызов. |
String |
varValue |
Возвращает значение переменной. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация признана устаревшей и подлежит удалению в одном из следующих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
final void |
wait |
Приостанавливает текущий поток до его пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного времени. |
Подробное описание конструкторов
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.