Интерфейс ScriptEngine
- Все известные реализующие классы:
AbstractScriptEngine
public interface ScriptEngine
ScriptEngine — это фундаментальный интерфейс, методы которого должны быть полностью функциональными в каждой реализации данного спецификаций. Эти методы обеспечивают базовые возможности скриптинга. Приложения, написанные для этого простого интерфейса, должны работать с минимальными изменениями в каждой реализации. Он включает методы для выполнения скриптов, а также для установки и получения значений.
Значения представляют собой пары «ключ-значение» двух типов. Первый тип пар состоит из пар, ключи которых зарезервированы и определены в этой спецификации или отдельными реализациями. Значения в парах с зарезервированными ключами имеют определённое значение.
Другой тип пар состоит из пар, которые создают привязки языка Java. Значения обычно представлены в скриптах соответствующими ключами или их модифицированными формами.
- С тех пор как:
- 1.6
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
ARGV |
Зарезервированный ключ для именованного значения, передающего массив позиционных аргументов скрипту. |
static final String |
ENGINE |
Зарезервированный ключ для именованного значения, являющегося именем реализации ScriptEngine. |
static final String |
ENGINE_VERSION |
Зарезервированный ключ для именованного значения, идентифицирующего версию реализации ScriptEngine. |
static final String |
FILENAME |
Зарезервированный ключ для именованного значения, являющегося именем выполняемого файла. |
static final String |
LANGUAGE |
Зарезервированный ключ для именованного значения, являющегося полным именем языка сценариев, поддерживаемым реализацией. |
static final String |
LANGUAGE_VERSION |
Зарезервированный ключ для именованного значения, идентифицирующего версию языка сценариев, поддерживаемого реализацией. |
static final String |
NAME |
Зарезервированный ключ для именованного значения, идентифицирующего короткое имя языка сценариев. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
Bindings |
createBindings() |
Возвращает неинициализированный Bindings. |
Object |
eval |
Аналогично eval(String), за исключением того, что исходный код скрипта предоставляется в виде Reader. |
Object |
eval |
Аналогично eval(String, Bindings), за исключением того, что исходный код скрипта предоставляется в виде Reader. |
Object |
eval |
Аналогично eval(String, ScriptContext), где исходный код скрипта читается из Reader. |
Object |
eval |
Выполняет указанный скрипт. |
Object |
eval |
Выполняет скрипт, используя аргумент Bindings в качестве ENGINE_SCOPE Bindings ScriptEngine во время выполнения скрипта. |
Object |
eval |
Приводит к немедленному выполнению скрипта, исходный код которого — строка, переданная в качестве первого аргумента. |
Object |
get |
Извлекает значение, установленное в состоянии данного движка. |
Bindings |
getBindings |
Возвращает область именованных значений. |
ScriptContext |
getContext() |
Возвращает стандартное значение ScriptContext ScriptEngine, чьи привязки, ридеры и райтеры используются для выполнения скриптов, если ScriptContext не указан. |
ScriptEngineFactory |
getFactory() |
Возвращает ScriptEngineFactory для класса, к которому принадлежит этот ScriptEngine. |
void |
put |
Устанавливает пару «ключ-значение» в состояние ScriptEngine, которая может либо создать привязку языка Java для использования при выполнении скриптов, либо быть использована каким-либо другим способом, в зависимости от того, зарезервирован ли ключ. |
void |
setBindings |
Устанавливает область именованных значений, которые будут использованы скриптами. |
void |
setContext |
Устанавливает значение ScriptContext по умолчанию для ScriptEngine, чьи привязки, ридеры и райтеры используются для выполнения скриптов, когда не указан ScriptContext. |
Краткое описание полей
ARGV
static final String ARGV
Зарезервированный ключ для именованного значения, которое передает массив позиционных аргументов в скрипт.
- См. также:
FILENAME
static final String FILENAME
Зарезервированный ключ для именованного значения, представляющего имя выполняемого файла.
- См. также:
ENGINE
static final String ENGINE
Зарезервированный ключ для именованного значения, представляющего имя реализации
ScriptEngine.- См. также:
ENGINE_VERSION
static final String ENGINE_VERSION
Зарезервированный ключ для именованного значения, идентифицирующего версию реализации
ScriptEngine.- См. также:
NAME
static final String NAME
Зарезервированный ключ для именованного значения, идентифицирующего короткое имя языка сценариев. Имя используется
ScriptEngineManager для поиска ScriptEngine с заданным именем в методе getEngineByName.- См. также:
LANGUAGE
static final String LANGUAGE
Зарезервированный ключ для именованного значения, представляющего полное имя языка сценариев, поддерживаемого реализацией.
- См. также:
LANGUAGE_VERSION
static final String LANGUAGE_VERSION
Зарезервированный ключ для именованного значения, идентифицирующего версию языка сценариев, поддерживаемого реализацией.
- См. также:
Подробное описание методов
eval
Object eval(String script, ScriptContext context) throws ScriptException
Вызывает немедленное выполнение скрипта, источником которого является строка, переданная в качестве первого аргумента. Скрипт может быть повторно разобран или перекомпилирован перед выполнением. Состояние, оставшееся в обработчике из предыдущих выполнений, включая значения переменных и скомпилированные процедуры, может быть видимым во время этого выполнения.
- Параметры:
-
script- Скрипт, который должен быть выполнен обработчиком скриптов. -
context-ScriptContext, предоставляющий наборы атрибутов в разных областях видимости. Значения областей видимостиScriptContext.GLOBAL_SCOPEиScriptContext.ENGINE_SCOPEопределены в спецификации.
ENGINE_SCOPEBindingsScriptContextсодержит привязки переменных сценариев к объектам приложения, которые будут использоваться во время выполнения этого скрипта. - Возвращает:
- Значение, возвращаемое из выполнения скрипта.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если любой из аргументов равен null.
eval
Object eval(Reader reader, ScriptContext context) throws ScriptException
То же, что и
eval(String, ScriptContext), где источник скрипта считывается из Reader.- Параметры:
-
reader- Источник скрипта, который должен быть выполнен обработчиком скриптов. -
context-ScriptContext, переданный обработчику скриптов. - Возвращает:
- Значение, возвращаемое из выполнения скрипта.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если любой из аргументов равен null.
eval
Object eval(String script) throws ScriptException
Выполняет указанный скрипт. Используется
ScriptContext по умолчанию для ScriptEngine.- Параметры:
-
script- Источник языка скрипта, который необходимо выполнить. - Возвращает:
- Значение, возвращаемое из выполнения скрипта.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если аргумент равен null.
eval
Object eval(Reader reader) throws ScriptException
То же, что и
eval(String), за исключением того, что источник скрипта предоставляется как Reader
- Параметры:
-
reader- Источник скрипта. - Возвращает:
- Значение, возвращаемое скриптом.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если аргумент равен null.
eval
Object eval(String script, Bindings n) throws ScriptException
Выполняет скрипт, используя аргумент
Bindings в качестве ENGINE_SCOPE Bindings ScriptEngine во время выполнения скрипта. Используются Reader, Writer и не-ENGINE_SCOPE Bindings по умолчанию ScriptContext. ENGINE_SCOPE Bindings ScriptEngine не изменяется, и его сопоставления не изменяются во время выполнения скрипта.- Параметры:
-
script- Источник скрипта. -
n-Bindingsатрибутов, которые будут использоваться для выполнения скрипта. - Возвращает:
- Значение, возвращаемое скриптом.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если любой из аргументов равен null.
eval
Object eval(Reader reader, Bindings n) throws ScriptException
То же, что и
eval(String, Bindings), за исключением того, что источник скрипта предоставляется как Reader.- Параметры:
-
reader- Источник скрипта. -
n-Bindingsатрибутов. - Возвращает:
- Значение, возвращаемое скриптом.
- Исключения:
-
ScriptException- если возникает ошибка в скрипте. Обработчики скриптов должны создавать и генерировать оболочкиScriptExceptionдля проверяемых исключений, генерируемых базовыми реализациями скриптов. -
NullPointerException- если любой из аргументов равен null.
put
void put(String key, Object value)
Устанавливает пару ключ/значение в состоянии ScriptEngine, которая может либо создать привязку языка Java для использования при выполнении скриптов, либо использоваться каким-либо иным образом, в зависимости от того, зарезервирован ли ключ. Должен иметь тот же эффект, что и
getBindings(ScriptContext.ENGINE_SCOPE).put.- Параметры:
-
key- Имя добавляемого именованного значения -
value- Значение добавляемого именованного значения. - Исключения:
-
NullPointerException- если ключ равен null. -
IllegalArgumentException- если ключ пуст.
get
Object get(String key)
Извлекает значение, установленное в состоянии этого обработчика. Значение может быть тем, которое было установлено с помощью
setValue или какое-либо другое значение в состоянии ScriptEngine, в зависимости от реализации. Должен иметь тот же эффект, что и getBindings(ScriptContext.ENGINE_SCOPE).get
- Параметры:
-
key- Ключ, значение которого должно быть возвращено - Возвращает:
- значение для данного ключа
- Исключения:
-
NullPointerException- если ключ равен null. -
IllegalArgumentException- если ключ пуст.
getBindings
Bindings getBindings(int scope)
Возвращает область именованных значений. Возможные области:
Экземпляры
-
ScriptContext.GLOBAL_SCOPE- Набор именованных значений, представляющих глобальную область. Если этотScriptEngineManagerбыл созданScriptEngineManager, то менеджер устанавливает глобальные привязки. Это может бытьnull, если глобальная область не ассоциирована с этимScriptEngine -
ScriptContext.ENGINE_SCOPE- Набор именованных значений, представляющих состояние этогоScriptEngine. Значения, как правило, видны в скриптах, использующих соответствующие ключи как имена переменных. - Любое другое значение области, определенное в стандартной
ScriptContextScriptEngine.
Экземпляры
Bindings, которые возвращаются, должны быть идентичны тем, которые возвращаются методом getBindings из ScriptContext, вызываемого с соответствующими аргументами в стандартной ScriptContext ScriptEngine.- Параметры:
-
scope- ЛибоScriptContext.ENGINE_SCOPE, либоScriptContext.GLOBAL_SCOPE, которые определяют возвращаемуюBindings. РеализацииScriptContextмогут определять дополнительные области. Если стандартнаяScriptContextScriptEngineопределяет дополнительные области, любая из них может быть передана для получения соответствующейBindings. - Возвращает:
- Объект
Bindingsс указанной областью. - Исключение:
-
IllegalArgumentException- если указанная область неверна
setBindings
void setBindings(Bindings bindings, int scope)
Устанавливает область именованных значений, которые будут использоваться скриптами. Возможные области:
Метод должен иметь тот же эффект, что и вызов метода
-
ScriptContext.ENGINE_SCOPE- УказанныйBindingsзаменяет область движкаScriptEngine. -
ScriptContext.GLOBAL_SCOPE- УказанныйBindingsдолжен быть виден какGLOBAL_SCOPE. - Любое другое значение области, определенное в стандартной
ScriptContextScriptEngine.
Метод должен иметь тот же эффект, что и вызов метода
setBindings из ScriptContext с соответствующим значением scope в стандартной ScriptContext ScriptEngine.- Параметры:
-
bindings- ОбъектBindingsдля указанной области. -
scope- Указанная область. ЛибоScriptContext.ENGINE_SCOPE, либоScriptContext.GLOBAL_SCOPE, или любое другое допустимое значение области. - Исключение:
-
IllegalArgumentException- если область неверна -
NullPointerException- если привязки null, а область -ScriptContext.ENGINE_SCOPE
createBindings
Bindings createBindings()
Возвращает неинициализированный
Bindings.- Возвращает:
- Объект
Bindings, который может быть использован для замены состояния этогоScriptEngine.
getContext
ScriptContext getContext()
Возвращает стандартную
ScriptContext ScriptEngine, чьи привязки, чтецы и писатели используются для выполнения скриптов, когда не указан ScriptContext.- Возвращает:
- Стандартную
ScriptContextScriptEngine.
setContext
void setContext(ScriptContext context)
Устанавливает стандартную
ScriptContext ScriptEngine, чьи привязки, чтецы и писатели используются для выполнения скриптов, когда не указан ScriptContext.- Параметры:
-
context- ОбъектScriptContext, который заменит стандартнуюScriptContextвScriptEngine. - Исключение:
-
NullPointerException- если context равен null.
getFactory
ScriptEngineFactory getFactory()
Возвращает
ScriptEngineFactory для класса, к которому принадлежит этот ScriptEngine.- Возвращает:
- Объект
ScriptEngineFactory
© 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/ScriptEngine.html