Spec-Zone.ru › OpenJDK 17

Пакет jdk.jshell.spi

package jdk.jshell.spi
Определяет интерфейс поставщика сервисов для подключаемых исполняющих движков JShell. Ядро JShell отслеживает и компилирует фрагменты кода, а затем отправляет их (в виде оберточного класса) исполняющему движку для загрузки и, в случае исполняемых фрагментов, выполнения. Реализация JShell включает в себя по умолчанию исполняющий движок (в настоящее время удалённый процесс, управляемый JDI). Реализовав интерфейс ExecutionControl и его производящий класс, реализацию интерфейса ExecutionControlProvider и установив её с помощью JShell.Builder.executionEngine(String), можно использовать другие исполняющие движки. Строка, переданная в качестве параметра, является спецификацией ExecutionControl.

Спецификация ExecutionControl представляет собой имя ExecutionControlProvider (необязательно), за которым следует спецификация параметров. Синтаксис спецификации:

 spec   := name : params
        | name
 name   := identifier
 params := param , params
        | param
        |
 param  := identifier ( value )
 
Где 'name' — имя ExecutionControlProvider name. Где 'param' — ключ Map, взятый из ExecutionControlProvider.defaultParameters(), и заключённое в скобки значение; см., например, JdiExecutionControlProvider. Где 'identifier' — последовательность символов, являющихся частью идентификатора Java Java identifier part characters из Основной многоязычной плоскости.

Например:

  • local
  • jdi:hostname(localhost)
  • failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
Since:
9
См. также:
  • for execution implementation support
Пакет Описание
jdk.jshell
Предоставляет интерфейсы для создания инструментов, таких как цикл «Чтение-Вычисление-Печать» (REPL), который интерактивно оценивает «фрагменты» кода языка программирования Java.
jdk.jshell.execution
Предоставляет поддержку реализации для создания исполняющих движков JShell.
jdk.jshell.tool
Предоставляет механизм запуска экземпляра инструмента Java shell.
Класс Описание
ExecutionControl
Этот интерфейс определяет функциональность, необходимую для реализации подключаемого исполняющего движка JShell.
ExecutionControl.ClassBytecodes
Объединяет имя класса с байткодами класса.
ExecutionControl.ClassInstallException
Установка класса (загрузка или переопределение) столкнулась с проблемой.
ExecutionControl.EngineTerminationException
Произошло непредвиденное завершение работы исполняющего движка.
ExecutionControl.ExecutionControlException
Абстрактный базовый класс всех ExecutionControl исключений.
ExecutionControl.InternalException
Произошла внутренняя проблема.
ExecutionControl.NotImplementedException
Команда не реализована.
ExecutionControl.ResolutionException
Исключение, указывающее на то, что DeclarationSnippet с неразрешёнными ссылками было обнаружено.
ExecutionControl.RunException
Абстрактный базовый класс исключений, специфичных для запуска пользовательского кода.
ExecutionControl.StoppedException
Исключение, указывающее на то, что ExecutionControl.invoke(java.lang.String, java.lang.String) (или теоретически ExecutionControl.varValue(java.lang.String, java.lang.String)) было прервано ExecutionControl.stop().
ExecutionControl.UserException
Произошло обычное пользовательское исключение.
ExecutionControlProvider
Поставщик, используемый JShell для генерации исполняющего движка, необходимого для оценки фрагментов кода.
ExecutionEnv
Функциональность, предоставляемая подключаемому исполняющему движку JShell.
SPIResolutionException
Создание и выброс этого исключения встроен в код, сгенерированный реализацией ядра JShell таким образом, что при выполнении RECOVERABLE_DEFINED пользовательского метода, выбрасывается данное исключение.

© 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/spi/package-summary.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API