模块  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 - 如果 NoSuchMethodException具有给定名称或匹配参数类型的方法。
        NullPointerException - 如果方法名称为null。
        IllegalArgumentException - 如果指定的thiz为null或指定的Object不表示脚本对象。
      • getInterface

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

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