Spec-Zone.ru › OpenJDK 8

Интерфейс ScriptEngine

Все известные реализующие классы:
AbstractScriptEngine

public interface ScriptEngine

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

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

Значения представляют собой пары "ключ-значение" двух типов. Первый тип пар состоит из пар, ключи которых зарезервированы и определены в этом стандарте или отдельными реализациями. Значения в парах с зарезервированными ключами имеют определенные значения.

Другой тип пар состоит из пар, которые создают Java-связывания; значения обычно представляются в скриптах соответствующими ключами или оформленными вариантами.

С:
1.6

Поля

Модификатор и тип Поле и описание
static String ARGV

Зарезервированный ключ для именованного значения, передающего массив позиционных аргументов в скрипт.

static String ENGINE

Зарезервированный ключ для именованного значения, которое является именем реализации ScriptEngine.

static String ENGINE_VERSION

Зарезервированный ключ для именованного значения, идентифицирующего версию реализации ScriptEngine.

static String FILENAME

Зарезервированный ключ для именованного значения, являющегося именем выполняемого файла.

static String LANGUAGE

Зарезервированный ключ для именованного значения, являющегося полным именем поддерживаемого реализацией языка скриптов.

static String LANGUAGE_VERSION

Зарезервированный ключ для именованного значения, идентифицирующего версию языка скриптов, поддерживаемую реализацией.

static 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 , чьи Bindings, Reader и Writers используются для выполнения скриптов, когда ScriptContext не указано.

ScriptEngineFactory getFactory()

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

void put(String key, Object value)

Устанавливает пару "ключ-значение" в состоянии ScriptEngine, которая может либо создать Java Language Binding для использования в выполнении скриптов, либо использоваться другим способом, в зависимости от того, зарезервирован ли ключ.

void setBindings(Bindings bindings, int scope)

Устанавливает область именованных значений для использования скриптами.

void setContext(ScriptContext context)

Устанавливает значение по умолчанию ScriptContext ScriptEngine , чьи Bindings, Reader и Writers используются для выполнения скриптов, когда 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 - если произошла ошибка в скрипте. Обработчики скриптов должны создавать и генерировать обертки ScriptException для контролируемых исключений, генерируемых базовыми реализациями скриптов.
NullPointerException - если любой из аргументов равен null.

eval

Object eval(Reader reader,
            ScriptContext context)
     throws ScriptException

То же, что и eval(String, ScriptContext), где исходный код скрипта считывается из Reader.

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

eval

Object eval(String script)
     throws ScriptException

Выполняет указанный скрипт. Используется ScriptContext по умолчанию для ScriptEngine.

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

eval

Object eval(Reader reader)
     throws ScriptException

То же, что и eval(String), за исключением того, что исходный код скрипта предоставляется как Reader

Параметры:
reader - Исходный код скрипта.
Возвращает:
Значение, возвращенное скриптом.
Исключения:
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 - если произошла ошибка в скрипте.
NullPointerException - если любой из аргументов равен null.

eval

Object eval(Reader reader,
            Bindings n)
     throws ScriptException

То же, что и eval(String, Bindings), за исключением того, что исходный код скрипта предоставляется как Reader.

Параметры:
reader - Исходный код скрипта.
n - Bindings атрибутов.
Возвращает:
Значение, возвращенное скриптом.
Исключения:
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 - если привязки равны 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, 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.

Spec-Zone.ru

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