Класс DirectExecutionControl

Все реализуемые интерфейсы:
AutoCloseable, ExecutionControl
Известные прямые подклассы:
LocalExecutionControl, RemoteExecutionControl
public class DirectExecutionControl
extends Object
implements ExecutionControl

Реализация ExecutionControl, выполняемая в текущем процессе. Может использоваться напрямую или через канал с помощью Util.forwardExecutionControl(ExecutionControl, java.io.ObjectInput, java.io.ObjectOutput).

С:
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

Конструкторы

КонструкторОписание
DirectExecutionControl()

Создает экземпляр, используя стандартную загрузку классов.

DirectExecutionControl​(LoaderDelegate loaderDelegate)

Создаёт экземпляр, делегируя операции загрузчика указанному делегату.

Методы

Модификатор и типМетодОписание
protected voidclassesRedefined​(ExecutionControl.ClassBytecodes[] cbcs)

Уведомляет о переопределении классов.

protected voidclientCodeEnter()

Помечает вход в пользовательский код.

protected voidclientCodeLeave()

Помечает выход из пользовательского кода.

protected Class<?>findClass​(String name)

Находит класс с указанным двоичным именем.

protected Stringinvoke​(Method doitMethod)

Вызывает указанный метод "doit-метод", статический метод без параметров.

voidstop()

Прерывает выполняемый вызов.

protected StringthrowConvertedInvocationException​(Throwable cause)

Преобразует исключения, поступающие из пользовательского кода, в экземпляры подтипов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.

protected StringthrowConvertedOtherException​(Throwable ex)

Преобразует исключения, поступающие из кода агента, в экземпляры подтипов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.

protected static StringvalueString​(Object value)

Преобразует значение Object из ExecutionControl.invoke(String, String) или ExecutionControl.varValue(String, String) в String.

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы, объявленные в интерфейсе jdk.jshell.spi.ExecutionControl

addToClasspath, close, extensionCommand, invoke, load, redefine, varValue

Конструкторы

DirectExecutionControl

public DirectExecutionControl(LoaderDelegate loaderDelegate)

Создаёт экземпляр, делегируя операции загрузчика указанному делегату.

Параметры:
loaderDelegate - делегат для обработки загрузки классов

DirectExecutionControl

public DirectExecutionControl()

Создаёт экземпляр, используя стандартную загрузку классов.

Методы

classesRedefined

protected void classesRedefined(ExecutionControl.ClassBytecodes[] cbcs)
                         throws ExecutionControl.NotImplementedException,
                                ExecutionControl.EngineTerminationException

Уведомляет о переопределении классов.

Параметры:
cbcs - имя класса и байткоды для переопределения
Исключения:
ExecutionControl.NotImplementedException - если не реализовано
ExecutionControl.EngineTerminationException - движок выполнения завершился

stop

public void stop()
          throws ExecutionControl.EngineTerminationException,
                 ExecutionControl.InternalException

Прерывает выполняемый вызов.

Не поддерживается.

Определено в:
stop в интерфейсе ExecutionControl
Исключения:
ExecutionControl.EngineTerminationException - движок выполнения завершился
ExecutionControl.InternalException - произошла внутренняя ошибка

findClass

protected Class<?> findClass(String name)
                      throws ClassNotFoundException

Находит класс с указанным двоичным именем.

Параметры:
name - двоичное имя класса
Возвращает:
объект Class
Исключения:
ClassNotFoundException - если класс не был найден

invoke

protected String invoke(Method doitMethod)
                 throws Exception

Вызывает указанный "doit-метод", статический метод без параметров. ExecutionControl.invoke(java.lang.String, java.lang.String) в этом классе будет вызывать это для вызова.

Параметры:
doitMethod - метод для вызова
Возвращает:
значение или null
Исключения:
Exception - любые исключения, сгенерированные Method.invoke(Object, Object...) или любые ExecutionControl.ExecutionControlException для пропуска.

valueString

protected static String valueString(Object value)

Преобразует значение Object из ExecutionControl.invoke(String, String) или ExecutionControl.varValue(String, String) в String.

Параметры:
value - значение для преобразования
Возвращает:
представление String

throwConvertedInvocationException

protected String throwConvertedInvocationException(Throwable cause)
                                            throws ExecutionControl.RunException,
                                                   ExecutionControl.InternalException

Преобразует исключения, поступающие из пользовательского кода, в экземпляры подтипов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.

Параметры:
cause - исключение для преобразования
Возвращает:
никогда не возвращает, так как всегда выбрасывает
Исключения:
ExecutionControl.RunException - для стандартных случаев исключений
ExecutionControl.InternalException - для внутренних проблем

throwConvertedOtherException

protected String throwConvertedOtherException(Throwable ex)
                                       throws ExecutionControl.RunException,
                                              ExecutionControl.InternalException

Преобразует исключения, поступающие из кода агента, в экземпляры подтипов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.

Параметры:
ex - исключение для преобразования
Возвращает:
никогда не возвращает, так как всегда выбрасывает
Исключения:
ExecutionControl.RunException - для стандартных случаев исключений
ExecutionControl.InternalException - для внутренних проблем

clientCodeEnter

protected void clientCodeEnter()
                        throws ExecutionControl.InternalException

Помечает вход в пользовательский код.

Исключения:
ExecutionControl.InternalException - в случаях непредвиденных сбоев

clientCodeLeave

protected void clientCodeLeave()
                        throws ExecutionControl.InternalException

Помечает выход из пользовательского кода.

Исключения:
ExecutionControl.InternalException - в случаях непредвиденных сбоев

© 1993, 2020, 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/11/docs/api/jdk.jshell/jdk/jshell/execution/DirectExecutionControl.html

Spec-Zone .ru
спецификации, руководства, описания, API