Spec-Zone.ru › OpenJDK 17

Интерфейс Invocable

public interface Invocable
Необязательный интерфейс, реализуемый ScriptEngines, чьи методы позволяют вызывать процедуры в скриптах, которые были ранее выполнены.
С момента:
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.
Параметры:
name - Имя вызываемой процедуры.
thiz - Если процедура является членом класса, определенного в скрипте, и thiz является экземпляром этого класса, возвращённым предыдущим выполнением или вызовом, то метод вызывается через этот экземпляр.
args - Аргументы, передаваемые процедуре. Правила преобразования аргументов в переменные скрипта зависят от реализации.
Возвращает:
Значение, возвращенное процедурой. Правила преобразования переменной скрипта, возвращенной методом скрипта, в Java Object зависят от реализации.
Имеет исключения:
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 или не представляет собой объект скрипта.

© 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/Invocable.html

Spec-Zone.ru

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