Пакет javax.script

API для скриптинга состоит из интерфейсов и классов, которые определяют Java™ движки для скриптов и предоставляют фреймворк для их использования в Java приложениях. Этот API предназначен для использования разработчиками приложений, которые хотят выполнять программы, написанные на языках сценариев, в своих Java приложениях. Программы на языке сценариев обычно предоставляются конечными пользователями приложений.

Основные функциональные области пакета javax.script включают

  1. Выполнение скриптов: Скрипты представляют собой потоки символов, используемые в качестве источников программ, выполняемых движками сценариев. Выполнение скриптов использует методы eval класса ScriptEngine и методы интерфейса Invocable.

  2. Связывание: Эта возможность позволяет экспонировать объекты Java программам на языке сценариев как именованные переменные. Для этой цели используются классы Bindings и ScriptContext.

  3. Компиляция: Эта функциональность позволяет сохранять промежуточный код, генерируемый передней частью движка сценариев, и выполнять его повторно. Это выгодно для приложений, которые выполняют один и тот же скрипт несколько раз. Эти приложения могут повысить эффективность, поскольку передние части движков должны выполнять скрипт только один раз на скрипт, а не один раз на каждое выполнение скрипта. Обратите внимание, что эта функциональность является необязательной, и движки сценариев могут выбрать её не реализовывать. Вызывающие стороны должны проверить доступность интерфейса Compilable с помощью проверки instanceof.

  4. Вызов: Эта функциональность позволяет повторно использовать промежуточный код, генерируемый передней частью движка сценариев. В то время как компиляция позволяет повторно выполнять целые скрипты, представленные промежуточным кодом, функциональность вызова позволяет повторно выполнять отдельные процедуры/методы в скриптах. Как и в случае с компиляцией, не все движки сценариев обязаны предоставлять эту возможность. Вызывающая сторона должна проверить доступность Invocable.

  5. Обнаружение движков сценариев: Приложения, написанные для API скриптинга, могут иметь специфические требования к движкам сценариев. Некоторые могут потребовать определенный язык сценариев и/или версию, в то время как другие могут потребовать определенный движок и/или версию реализации. Движки сценариев упаковываются определённым образом, чтобы движки можно было обнаружить во время выполнения и запросить их атрибуты. Механизм обнаружения движков основан на механизме загрузки поставщиков услуг, описанном в классе ServiceLoader. ScriptEngineManager включает метод getEngineFactories для получения всех экземпляров ScriptEngineFactory, обнаруженных с помощью этого механизма. ScriptEngineFactory имеет методы для запроса атрибутов движка сценариев.

С:
1.6
Интерфейс Описание
Bindings

Отображение пар ключ/значение, все ключи которых являются Strings.

Compilable

Необязательный интерфейс, реализуемый ScriptEngines, чьи методы компилируют скрипты в форму, которая может быть выполнена повторно без повторной компиляции.

Invocable

Необязательный интерфейс, реализуемый ScriptEngines, чьи методы позволяют вызывать процедуры в скриптах, которые были ранее выполнены.

ScriptContext

Интерфейс, реализующие классы которого используются для подключения движков Script к объектам, таким как области видимости Bindings, в приложениях-хостах.

ScriptEngine

ScriptEngine — это основной интерфейс, чьи методы должны быть полностью функциональными в каждой реализации данного спецификации.

ScriptEngineFactory

ScriptEngineFactory используется для описания и создания ScriptEngines.

Класс Описание
AbstractScriptEngine

Предоставляет стандартную реализацию для нескольких вариантов метода eval.

CompiledScript

Расширяется классами, которые хранят результаты компиляции.

ScriptEngineManager

ScriptEngineManager реализует механизм обнаружения и создания ScriptEngine классов, а также сохраняет коллекцию пар ключ/значение, хранящих состояние, общие для всех движков, созданных менеджером.

SimpleBindings

Простая реализация Bindings, поддерживаемая HashMap или каким-либо другим указанным Map.

SimpleScriptContext

Простая реализация ScriptContext.

Исключение Описание
ScriptException

Общий класс Exception для API скриптинга.

© 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/java.scripting/javax/script/package-summary.html

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