public interface Invocable
实现了ScriptEngines的可选接口,其方法允许调用先前执行过的脚本中的过程。
- 自 JDK 版本:
- 1.6
-
Method Summary
Modifier and TypeMethodDescription<T> T
getInterface
(Class<T> clasz) 返回一个使用解释器中编译的函数的接口实现。<T> T
getInterface
(Object thiz, Class<T> clasz) 返回一个使用解释器中编译的脚本对象的成员函数的接口实现。invokeFunction
(String name, Object... args) 用于调用在脚本中定义的顶层过程和函数。invokeMethod
(Object thiz, String name, Object... args) 在先前脚本执行期间编译的脚本对象上调用方法,在ScriptEngine
的状态中保留。
-
Method Details
-
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
用于调用在脚本中定义的顶层过程和函数。- 参数:
-
name
- 要调用的过程或函数的名称 -
args
- 要传递给过程或函数的参数 - 返回:
- 过程或函数返回的值
- 抛出:
-
ScriptException
- 如果在调用方法期间发生错误。 -
NoSuchMethodException
- 如果找不到具有给定名称或匹配参数类型的方法。 -
NullPointerException
- 如果方法名称为null。
-
getInterface
返回一个使用解释器中编译的函数的接口实现。接口的方法可以使用invokeFunction
方法实现。- 类型参数:
-
T
- 要返回的接口的类型 - 参数:
-
clasz
- 要返回的接口的Class
对象。 - 返回:
-
请求接口的实例 - 如果请求的接口不可用,则为null,即如果在
ScriptEngine
中找不到与请求接口中的匹配项相匹配的编译函数。 - 抛出:
-
IllegalArgumentException
- 如果指定的Class
对象为null或不是接口。
-
getInterface
返回一个使用解释器中编译的脚本对象的成员函数的接口实现。接口的方法可以使用invokeMethod
方法实现。- 类型参数:
-
T
- 要返回的接口的类型 - 参数:
-
thiz
- 用于实现接口方法的脚本对象。 -
clasz
- 要返回的接口的Class
对象。 - 返回:
-
请求接口的实例 - 如果请求的接口不可用,则为null,即如果在
ScriptEngine
中找不到与请求接口中的匹配项相匹配的编译方法。 - 抛出:
-
IllegalArgumentException
- 如果指定的Class
对象为null或不是接口,或者如果指定的对象为null或不表示脚本对象。
-