Spec-Zone.ru › OpenJDK 17

Интерфейс 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(Reader reader)
Аналогично eval(String), за исключением того, что источник скрипта предоставлен как Reader.
Object eval(Reader reader, Bindings n)
Аналогично eval(String, Bindings), за исключением того, что источник скрипта предоставлен как Reader.
Object eval(Reader reader, ScriptContext context)
Аналогично eval(String, ScriptContext), где исходный код скрипта читается из Reader.
Object eval(String script)
Выполняет указанный скрипт.
Object eval(String script, Bindings n)
Выполняет скрипт, используя аргумент Bindings в качестве ENGINE_SCOPE Bindings ScriptEngine во время выполнения скрипта.
Object eval(String script, ScriptContext context)
Вызывает немедленное выполнение скрипта, исходный код которого представляет собой строку, переданную в качестве первого аргумента.
Object get(String key)
Извлекает значение, установленное в состоянии этого движка.
Bindings getBindings(int scope)
Возвращает область именованных значений.
ScriptContext getContext()
Возвращает значение по умолчанию ScriptContext ScriptEngine, чьи привязки, чтецы и писатели используются для выполнения скриптов, когда не указан ScriptContext.
ScriptEngineFactory getFactory()
Возвращает ScriptEngineFactory для класса, к которому принадлежит этот ScriptEngine.
void put(String key, Object value)
Устанавливает пару ключ/значение в состоянии ScriptEngine, которая может либо создать привязку языка Java, используемую при выполнении скриптов, либо использоваться каким-либо другим способом, в зависимости от того, зарезервирован ли ключ.
void setBindings(Bindings bindings, int scope)
Устанавливает область именованных значений, которые будут использоваться скриптами.
void setContext(ScriptContext context)
Устанавливает значение по умолчанию ScriptContext ScriptEngine, чьи привязки, чтецы и писатели используются для выполнения скриптов, когда не указан ScriptContext.

Подробное описание полей

ARGV

static final String ARGV
Зарезервированный ключ для именованного значения, передающего массив позиционных аргументов в скрипт.
См. также:
  • Constant Field Values

FILENAME

static final String FILENAME
Зарезервированный ключ для именованного значения, представляющего имя выполняемого файла.
См. также:
  • Constant Field Values

ENGINE

static final String ENGINE
Зарезервированный ключ для именованного значения, представляющего имя ScriptEngine реализации.
См. также:
  • Constant Field Values

ENGINE_VERSION

static final String ENGINE_VERSION
Зарезервированный ключ для именованного значения, идентифицирующего версию ScriptEngine реализации.
См. также:
  • Constant Field Values

NAME

static final String NAME
Зарезервированный ключ для именованного значения, идентифицирующего короткое имя языка сценариев. Имя используется ScriptEngineManager для поиска ScriptEngine с заданным именем в методе getEngineByName.
См. также:
  • Constant Field Values

LANGUAGE

static final String LANGUAGE
Зарезервированный ключ для именованного значения, представляющего полное имя языка сценариев, поддерживаемого реализацией.
См. также:
  • Constant Field Values

LANGUAGE_VERSION

static final String LANGUAGE_VERSION
Зарезервированный ключ для именованного значения, идентифицирующего версию языка сценариев, поддерживаемого реализацией.
См. также:
  • Constant Field Values

Подробное описание методов

eval

Object eval(String script, ScriptContext context) throws ScriptException
Вызывает немедленное выполнение скрипта, источником которого является строка, переданная в качестве первого аргумента. Скрипт может быть повторно разобран или перекомпилирован перед выполнением. Состояние, оставшееся в механизме из предыдущих выполнений, включая значения переменных и скомпилированные процедуры, может быть видно во время этого выполнения.
Параметры:
script - Скрипт, который будет выполнен механизмом скриптов.
context - ScriptContext, предоставляющий наборы атрибутов в разных областях видимости. Значения областей видимости ScriptContext.GLOBAL_SCOPE, и ScriptContext.ENGINE_SCOPE определены в спецификации.

ENGINE_SCOPE Bindings ScriptContext содержит привязки переменных сценариев к объектам приложения, которые будут использоваться во время выполнения этого скрипта.
Возвращает:
Значение, возвращаемое из выполнения скрипта.
Исключения:
ScriptException - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки ScriptException для проверенных исключений, выброшенных базовыми реализациями сценариев.
NullPointerException - если любой из аргументов равен null.

eval

Object eval(Reader reader, ScriptContext context) throws ScriptException
То же, что и eval(String, ScriptContext), где источник скрипта считывается из Reader.
Параметры:
reader - Источник скрипта, который будет выполнен механизмом скриптов.
context - ScriptContext, переданный механизму скриптов.
Возвращает:
Значение, возвращаемое из выполнения скрипта.
Исключения:
ScriptException - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки ScriptException для проверенных исключений, выброшенных базовыми реализациями сценариев.
NullPointerException - если любой из аргументов равен null.

eval

Object eval(String script) throws ScriptException
Выполняет указанный скрипт. Используется ScriptContext по умолчанию для ScriptEngine.
Параметры:
script - Источник языка скрипта, который будет выполнен.
Возвращает:
Значение, возвращаемое из выполнения скрипта.
Исключения:
ScriptException - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки ScriptException для проверенных исключений, выброшенных базовыми реализациями сценариев.
NullPointerException - если аргумент равен null.

eval

Object eval(Reader reader) throws ScriptException
То же, что и eval(String), за исключением того, что источник скрипта предоставляется как Reader
Параметры:
reader - Источник скрипта.
Возвращает:
Значение, возвращаемое скриптом.
Исключения:
ScriptException - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки 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 - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки ScriptException для проверенных исключений, выброшенных базовыми реализациями сценариев.
NullPointerException - если любой из аргументов равен null.

eval

Object eval(Reader reader, Bindings n) throws ScriptException
То же, что и eval(String, Bindings), за исключением того, что источник скрипта предоставляется как Reader.
Параметры:
reader - Источник скрипта.
n - Bindings атрибутов.
Возвращает:
Значение, возвращаемое скриптом.
Исключения:
ScriptException - если возникает ошибка в скрипте. ScriptEngines должны создавать и выбрасывать оболочки 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 - Набор именованных значений, представляющий глобальную область. Если этот ScriptEngine создан ScriptEngineManager, то менеджер устанавливает глобальные привязки. Это может быть null, если глобальная область не ассоциирована с этим ScriptEngine
  • ScriptContext.ENGINE_SCOPE - Набор именованных значений, представляющий состояние этого ScriptEngine. Значения, как правило, видны в скриптах, использующих соответствующие ключи в качестве имён переменных.
  • Любое другое значение области, определённое в стандартной ScriptContext ScriptEngine.


Экземпляры Bindings, которые возвращаются, должны быть идентичны тем, которые возвращает метод getBindings класса ScriptContext с соответствующими аргументами в стандартной ScriptContext ScriptEngine.
Параметры:
scope - Либо ScriptContext.ENGINE_SCOPE, либо ScriptContext.GLOBAL_SCOPE, которые указывают область, которую нужно вернуть. Реализации ScriptContext могут определять дополнительные области. Если стандартная ScriptContext ScriptEngine определяет дополнительные области, любая из них может быть передана для получения соответствующей Bindings.
Возвращает:
Объект Bindings с указанной областью.
Исключения:
IllegalArgumentException - если указанная область неверна

setBindings

void setBindings(Bindings bindings, int scope)
Устанавливает область именованных значений, которые будут использоваться скриптами. Возможные области:

  • ScriptContext.ENGINE_SCOPE - Указанные Bindings заменяют область двигателя ScriptEngine.
  • ScriptContext.GLOBAL_SCOPE - Указанные Bindings должны быть видны как GLOBAL_SCOPE.
  • Любое другое значение области, определённое в стандартной ScriptContext ScriptEngine.


Метод должен иметь тот же эффект, что и вызов метода setBindings класса ScriptContext с соответствующим значением scope в стандартной ScriptContext ScriptEngine.
Параметры:
bindings - Bindings для указанной области.
scope - Указанная область. Либо ScriptContext.ENGINE_SCOPE, либо ScriptContext.GLOBAL_SCOPE, или любое другое допустимое значение области.
Исключения:
IllegalArgumentException - если область неверна
NullPointerException - если bindings null, а область ScriptContext.ENGINE_SCOPE

createBindings

Bindings createBindings()
Возвращает неинициализированный Bindings.
Возвращает:
Bindings, который можно использовать для замены состояния этого ScriptEngine.

getContext

ScriptContext getContext()
Возвращает стандартную ScriptContext ScriptEngine, чьи Bindings, Reader и Writers используются для выполнения скриптов, когда ScriptContext не указан.
Возвращает:
Стандартную ScriptContext ScriptEngine.

setContext

void setContext(ScriptContext context)
Устанавливает стандартную ScriptContext ScriptEngine, чьи Bindings, Reader и Writers используются для выполнения скриптов, когда ScriptContext не указан.
Параметры:
context - ScriptContext, который заменит стандартную ScriptContext в ScriptEngine.
Исключения:
NullPointerException - если context null.

getFactory

ScriptEngineFactory getFactory()
Возвращает ScriptEngineFactory для класса, к которому принадлежит этот ScriptEngine.
Возвращает:
ScriptEngineFactory

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

Spec-Zone.ru

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