Module  java.scripting
软件包  javax.script

Interface Invocable

  • 所有已知实现类:
    NashornScriptEngine


    public interface Invocable
    由ScriptEngines实现的可选接口,其方法允许在先前执行的脚本中调用过程。
    从以下版本开始:
    1.6
    • 方法详细信息

      • invokeMethod

        Object invokeMethod​(Object thiz,
                            String name,
                            Object... args)
                     throws ScriptException,
                            NoSuchMethodException
        调用在前一个脚本执行期间编译的脚本对象上的方法,该方法保留在 ScriptEngine的状态。
        参数
        name - 要调用的过程的名称。
        thiz - 如果过程是在脚本中定义的类的成员,而thiz是先前执行或调用返回的该类的实例,则通过该实例调用命名方法。
        args - 传递给程序的参数。 将参数转换为脚本变量的规则是实现特定的。
        结果
        程序返回的值。 将由脚本方法返回的脚本变量转换为Java对象的规则是实现特定的。
        异常
        ScriptException - 如果在调用方法期间发生错误。
        NoSuchMethodException - 如果无法找到具有给定名称或匹配参数类型的方法。
        NullPointerException - 如果方法名称为空。
        IllegalArgumentException - 如果指定的thiz为空或指定的对象不表示脚本对象。
      • getInterface

        <T> T getInterface​(Class<T> clasz)
        使用在解释器中编译的函数返回接口的实现。 接口的方法可以使用invokeFunction方法来实现。
        参数类型
        T - 要返回的接口的类型
        参数
        clasz - 要返回的界面的 Class对象。
        结果
        所请求的接口的实例 - 如果请求的接口不可用,则为null,即,如果找不到匹配的请求接口中的 ScriptEngine编译功能, ScriptEngine
        异常
        IllegalArgumentException - 如果指定的 Class对象为空或不是接口。
      • getInterface

        <T> T getInterface​(Object thiz,
                           Class<T> clasz)
        使用解释器中编译的脚本对象的成员函数返回接口的实现。 接口的方法可以使用invokeMethod方法来实现。
        参数类型
        T - 要返回的接口的类型
        参数
        thiz - 其成员函数用于实现接口方法的脚本对象。
        clasz - 要返回的界面的 Class对象。
        结果
        所请求的接口的实例 - 如果请求的接口不可用,则为null,即,如果找不到匹配的请求接口中的 ScriptEngine编译方法。
        异常
        IllegalArgumentException - 如果指定的 Class对象为空或不是接口,或者指定的对象为空或不表示脚本对象。