Spec-Zone.ru › OpenJDK 25

Интерфейс Invocable

public interface Invocable
Необязательный интерфейс, реализуемый ScriptEngine, методы которого позволяют вызывать процедуры в скриптах, выполненных ранее.
Начиная с версии:
1.6

Краткое описание методов

Модификатор и тип Метод Описание
<T> T getInterface(Class<T> clasz)
Возвращает реализацию интерфейса с использованием функций, скомпилированных в интерпретаторе.
<T> T getInterface(Object thiz, Class<T> clasz)
Возвращает реализацию интерфейса с использованием функций-членов объекта скрипта, скомпилированного в интерпретаторе.
Object invokeFunction(String name, Object... args)
Используется для вызова процедур и функций верхнего уровня, определённых в скриптах.
Object invokeMethod(Object thiz, String name, Object... args)
Вызывает метод объекта скрипта, скомпилированного при предыдущем выполнении скрипта и сохранённого в состоянии ScriptEngine.

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

invokeMethod

Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException
Вызывает метод объекта скрипта, скомпилированного при предыдущем выполнении скрипта и сохранённого в состоянии ScriptEngine.
Параметры:
thiz — если процедура является членом класса, определённого в скрипте, а thiz — экземпляр этого класса, возвращённый при предыдущем выполнении или вызове, именованный метод вызывается через этот экземпляр.
name — имя вызываемой процедуры.
args — аргументы, передаваемые процедуре. Правила преобразования аргументов в переменные скрипта зависят от реализации.
Возвращает:
Значение, возвращённое процедурой. Правила преобразования переменной скрипта, возвращённой методом скрипта, в объект Java зависят от реализации.
Исключения:
ScriptException — если при вызове метода произошла ошибка.
NoSuchMethodException — если метод с указанным именем или соответствующими типами аргументов не найден.
NullPointerException — если имя метода равно null.
IllegalArgumentException — если указанный thiz равен null или указанный объект не представляет собой объект скрипта.

invokeFunction

Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException
Используется для вызова процедур и функций верхнего уровня, определённых в скриптах.
Параметры:
name — имя вызываемой процедуры или функции
args — аргументы, передаваемые процедуре или функции
Возвращает:
Значение, возвращённое процедурой или функцией
Исключения:
ScriptException — если при вызове метода произошла ошибка.
NoSuchMethodException — если метод с указанным именем или соответствующими типами аргументов не найден.
NullPointerException — если имя метода равно null.

getInterface

<T> T getInterface(Class<T> clasz)
Возвращает реализацию интерфейса с использованием функций, скомпилированных в интерпретаторе. Методы интерфейса могут быть реализованы с помощью метода invokeFunction.
Параметры типа:
T — тип возвращаемого интерфейса
Параметры:
clasz — объект Class интерфейса, который требуется вернуть.
Возвращает:
Экземпляр запрошенного интерфейса; null, если запрошенный интерфейс недоступен, то есть если в ScriptEngine не найдены скомпилированные функции, соответствующие функциям запрошенного интерфейса.
Исключения:
IllegalArgumentException — если указанный объект Class равен null или не является интерфейсом.

getInterface

<T> T getInterface(Object thiz, Class<T> clasz)
Возвращает реализацию интерфейса с использованием функций-членов объекта скрипта, скомпилированного в интерпретаторе. Методы интерфейса могут быть реализованы с помощью метода invokeMethod.
Параметры типа:
T — тип возвращаемого интерфейса
Параметры:
thiz — объект скрипта, функции-члены которого используются для реализации методов интерфейса.
clasz — объект Class интерфейса, который требуется вернуть.
Возвращает:
Экземпляр запрошенного интерфейса; null, если запрошенный интерфейс недоступен, то есть если в ScriptEngine не найдены скомпилированные методы, соответствующие методам запрошенного интерфейса.
Исключения:
IllegalArgumentException — если указанный объект Class равен null или не является интерфейсом либо если указанный объект равен null или не представляет собой объект скрипта.

Сообщить об ошибке или предложить улучшение
Дополнительную информацию о справочнике API и документации для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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://docs.oracle.com/en/java/javase/25/docs/api/java.scripting/javax/script/Invocable.html

Spec-Zone.ru

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