接口 Invocable


public interface Invocable
由 ScriptEngines 实现的可选接口,其方法允许调用先前已执行的脚本中的过程。
自从:
1.6
  • 方法总结

    修饰符和类型
    方法
    描述
    <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 的状态中。
  • 方法详情

    • invokeMethod

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

      Object  invokeFunction(String  name, Object ... args) throws ScriptException , NoSuchMethodException
      用于调用脚本中定义的顶级过程和函数。
      参数:
      name - 要调用的过程或函数
      args - 传递给过程或函数的参数
      返回:
      过程或函数返回的值
      抛出:
      ScriptException - 如果在调用方法期间发生错误。
      NoSuchMethodException - 如果找不到具有给定名称或匹配参数类型的方法。
      NullPointerException - 如果方法名称为空。
    • getInterface

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

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