public interface Invocable
由 ScriptEngines 实现的可选接口,其方法允许调用先前已执行的脚本中的过程。
- 自从:
- 1.6
-
方法总结
修饰符和类型方法描述<T> TgetInterface(Class<T> clasz) 使用在解释器中编译的函数返回接口的实现。<T> TgetInterface(Object thiz, Class<T> clasz) 使用在解释器中编译的脚本对象的成员函数返回接口的实现。invokeFunction(String name, Object... args) 用于调用脚本中定义的顶级过程和函数。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- 如果方法名称为空。IllegalArgumentException- 如果指定的 thiz 为空或指定的对象不代表脚本对象。
-
invokeFunction
用于调用脚本中定义的顶级过程和函数。- 参数:
name- 要调用的过程或函数args- 传递给过程或函数的参数- 返回:
- 过程或函数返回的值
- 抛出:
ScriptException- 如果在调用方法期间发生错误。NoSuchMethodException- 如果找不到具有给定名称或匹配参数类型的方法。NullPointerException- 如果方法名称为空。
-
getInterface
使用在解释器中编译的函数返回接口的实现。接口的方法可以使用invokeFunction方法来实现。- 类型参数:
T- 要返回的接口类型- 参数:
clasz- 要返回的接口的Class对象。- 返回:
-
请求接口的实例 - 如果请求的接口不可用,则为 null,即如果无法找到
ScriptEngine中的已编译函数与请求的接口中的函数匹配。 - 抛出:
IllegalArgumentException- 如果指定的Class对象为空或不是接口。
-
getInterface
使用在解释器中编译的脚本对象的成员函数返回接口的实现。接口的方法可以使用invokeMethod方法来实现。- 类型参数:
T- 要返回的接口类型- 参数:
thiz- 其成员函数用于实现接口方法的脚本对象。clasz- 要返回的接口的Class对象。- 返回:
-
请求接口的实例 - 如果请求的接口不可用,则为 null,即,如果无法找到
ScriptEngine中的已编译方法与请求的接口中的方法相匹配。 - 抛出:
IllegalArgumentException- 如果指定的Class对象为空或不是接口,或者如果指定的对象为空或不代表脚本对象。
-