public interface Invocable
由 ScriptEngines 实现的可选接口,该 ScriptEngines 的方法允许在以前执行过的脚本中调用程序。
方法摘要 | ||
---|---|---|
|
getInterface(Class<T> clasz) 返回一个接口的实现,该接口使用解释器中编译的函数。 |
|
|
getInterface(Object thiz, Class<T> clasz) 返回一个接口的实现,该接口使用解释器中已编译脚本对象的成员函数。 |
|
Object |
invokeFunction(String name, Object... args) 用于调用脚本中定义的顶层程序和函数。 |
|
Object |
invokeMethod(Object thiz, String name, Object... args) 对以前的脚本执行中已经编译的脚本对象(以 ScriptEngine 的状态保持)调用某一方法。 |
方法详细信息 |
---|
Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException
ScriptEngine
的状态保持)调用某一方法。
name
- 将被调用的程序的名称。
thiz
- 如果该程序是脚本中已定义类的成员,并且 thiz 是以前的执行或调用所返回的类的实例,则通过该实例调用指定的方法。
args
- 传递给程序的参数。将参数转换为脚本变量的规则是特定于实现的。
ScriptException
- 如果在调用方法期间发生错误。
NoSuchMethodException
- 如果不存在具有给定名称或匹配参数类型的方法。
NullPointerException
- 如果方法名称为 null。
IllegalArgumentException
- 如果指定的 thiz 为 null,或者指定的 Object 不表示一个脚本对象。
Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException
args
- 传递给程序或函数的参数
ScriptException
- 如果在调用方法期间发生错误。
NoSuchMethodException
- 如果不存在具有给定名称或匹配参数类型的方法。
NullPointerException
- 如果方法名称为 null。
<T> T getInterface(Class<T> clasz)
invokeFunction
方法实现的。
clasz
- 要返回的接口的
Class
对象。
ScriptEngine
中不存在与所请求接口中的函数相匹配的已编译函数,则返回 null。
IllegalArgumentException
- 如果指定的
Class
对象为 null,或者该对象不是一个接口。
<T> T getInterface(Object thiz, Class<T> clasz)
invokeMethod
方法实现的。
thiz
- 其成员函数被用来实现接口方法的脚本对象。
clasz
- 要返回的接口的
Class
对象。
ScriptEngine
中不存在与所请求接口中的方法相匹配的已编译方法,则返回 null。
IllegalArgumentException
- 如果指定的
Class
对象为 null 或不是一个接口,或者指定的 Object 为 null 或不表示一个脚本对象。