Интерфейс ScriptEngine
- Все известные реализующие классы:
- AbstractScriptEngine
public interface ScriptEngine
ScriptEngine является основным интерфейсом, методы которого должны быть полностью функциональными во всех реализациях этого стандарта.
Эти методы предоставляют базовые возможности для выполнения скриптов. Приложения, написанные для этого простого интерфейса, ожидается, будут работать с минимальными изменениями во всех реализациях. Он включает методы для выполнения скриптов, а также для установки и получения значений.
Значения представляют собой пары "ключ-значение" двух типов. Первый тип пар состоит из пар, ключи которых зарезервированы и определены в этом стандарте или отдельными реализациями. Значения в парах с зарезервированными ключами имеют определенные значения.
Другой тип пар состоит из пар, которые создают Java-связывания; значения обычно представляются в скриптах соответствующими ключами или оформленными вариантами.
- С:
- 1.6
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
ARGV Зарезервированный ключ для именованного значения, передающего массив позиционных аргументов в скрипт. |
static String |
ENGINE Зарезервированный ключ для именованного значения, которое является именем реализации |
static String |
ENGINE_VERSION Зарезервированный ключ для именованного значения, идентифицирующего версию реализации |
static String |
FILENAME Зарезервированный ключ для именованного значения, являющегося именем выполняемого файла. |
static String |
LANGUAGE Зарезервированный ключ для именованного значения, являющегося полным именем поддерживаемого реализацией языка скриптов. |
static String |
LANGUAGE_VERSION Зарезервированный ключ для именованного значения, идентифицирующего версию языка скриптов, поддерживаемую реализацией. |
static String |
NAME Зарезервированный ключ для именованного значения, идентифицирующего короткое имя языка скриптов. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
Bindings |
createBindings() Возвращает неинициализированный |
Object |
eval(Reader reader) Аналогично |
Object |
eval(Reader reader,
Bindings n) Аналогично |
Object |
eval(Reader reader,
ScriptContext context) Аналогично |
Object |
eval(String script) Выполняет указанный скрипт. |
Object |
eval(String script,
Bindings n) Выполняет скрипт, используя аргумент |
Object |
eval(String script,
ScriptContext context) Вызывает немедленное выполнение скрипта, исходный код которого является строкой, переданной в качестве первого аргумента. |
Object |
get(String key) Извлекает значение, установленное в состоянии этого движка. |
Bindings |
getBindings(int scope) Возвращает область именованных значений. |
ScriptContext |
getContext() Возвращает значение по умолчанию |
ScriptEngineFactory |
getFactory() Возвращает |
void |
put(String key,
Object value) Устанавливает пару "ключ-значение" в состоянии ScriptEngine, которая может либо создать Java Language Binding для использования в выполнении скриптов, либо использоваться другим способом, в зависимости от того, зарезервирован ли ключ. |
void |
setBindings(Bindings bindings,
int scope) Устанавливает область именованных значений для использования скриптами. |
void |
setContext(ScriptContext context) Устанавливает значение по умолчанию |
Поля
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_SCOPEBindingsScriptContextсодержит привязки переменных скрипта к объектам приложения, которые будут использоваться во время выполнения этого скрипта. - Возвращает:
- Значение, возвращенное из выполнения скрипта.
- Исключения:
-
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.
- Возвращает:
- Значение по умолчанию
ScriptContextScriptEngine.
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.