Пакет javax.script
API для скриптов состоит из интерфейсов и классов, которые определяют движки скриптов Java и обеспечивают структуру для их использования в приложениях Java. Этот API предназначен для использования разработчиками приложений, которые хотят выполнять программы, написанные на языках сценариев, в своих приложениях Java. Программы на языке сценариев обычно предоставляются конечными пользователями приложений.
Основные области функциональности пакета javax.script включают
-
Выполнение скриптов: Скрипты представляют собой потоки символов, используемые в качестве источников программ, выполняемых движками скриптов. Выполнение скриптов использует методы
evalинтерфейсаScriptEngineи методы интерфейсаInvocable. -
Связывание: Эта возможность позволяет экспонировать объекты Java программам на языке сценариев в качестве именованных переменных. Для этой цели используются классы
BindingsиScriptContext. -
Компиляция: Эта функциональность позволяет хранить промежуточный код, генерируемый передней частью движка скриптов, и выполнять его повторно. Это выгодно для приложений, которые выполняют один и тот же скрипт несколько раз. Эти приложения могут повысить эффективность, поскольку передние части движков нуждаются в выполнении только один раз на скрипт, а не один раз на каждое выполнение скрипта. Обратите внимание, что эта функциональность является необязательной, и движки скриптов могут её не реализовывать. Вызывающие стороны должны проверить наличие интерфейса
Compilableс помощью проверки instanceof. -
Вызов: Эта функциональность позволяет повторно использовать промежуточный код, сгенерированный передней частью движка скриптов. В то время как компиляция позволяет повторно выполнять целые скрипты, представленные промежуточным кодом, функциональность вызова позволяет повторно выполнять отдельные процедуры/методы в скриптах. Как и в случае с компиляцией, не все движки скриптов обязаны предоставлять эту возможность. Вызывающая сторона должна проверить наличие интерфейса
Invocable. -
Обнаружение движков скриптов: Приложения, написанные для API скриптов, могут иметь определённые требования к движкам скриптов. Некоторые могут требовать определённый язык сценариев и/или версию, в то время как другие могут требовать определённый движок реализации и/или версию. Движки скриптов упаковываются определённым образом, чтобы движки могли быть обнаружены во время выполнения и запрошены по атрибутам. Механизм обнаружения движков основан на механизме загрузки поставщиков услуг, описанном в классе
ServiceLoader. КлассScriptEngineManagerвключает методgetEngineFactoriesдля получения всех экземпляровScriptEngineFactory, обнаруженных с помощью этого механизма.ScriptEngineFactoryсодержит методы для запроса атрибутов движка скриптов.
- Since:
- 1.6
| Класс | Описание |
|---|---|
| AbstractScriptEngine | Предоставляет стандартную реализацию для нескольких вариантов метода eval. |
| Bindings | Сопоставление пар ключ/значение, все ключи которых являются Strings. |
| Compilable | Необязательный интерфейс, реализуемый движками скриптов, методы которых компилируют скрипты в форму, которая может быть выполнена повторно без повторной компиляции. |
| CompiledScript | Расширяется классами, которые хранят результаты компиляций. |
| Invocable | Необязательный интерфейс, реализуемый движками скриптов, методы которых позволяют вызывать процедуры в скриптах, которые были ранее выполнены. |
| ScriptContext | Интерфейс, реализующие классы которого используются для подключения движков скриптов к объектам, таким как scoped Bindings, в приложениях-хостах. |
| ScriptEngine | ScriptEngine является фундаментальным интерфейсом, методы которого должны быть полностью функциональными в каждой реализации этого спецификации. |
| ScriptEngineFactory | ScriptEngineFactory используется для описания и создания ScriptEngines. |
| ScriptEngineManager | Класс ScriptEngineManager реализует механизм обнаружения и создания классов ScriptEngine, а также поддерживает коллекцию пар ключ/значение, хранящих состояние, общее для всех движков, созданных менеджером. |
| ScriptException | Общий класс Exception для API скриптов. |
| SimpleBindings | Простая реализация Bindings, основанная на HashMap или какой-либо другой указанной Map. |
| SimpleScriptContext | Простая реализация ScriptContext. |
© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.scripting/javax/script/package-summary.html