Module java.scripting
Package javax.script

Interface Invocable


public interface Invocable
实现了ScriptEngines的可选接口,其方法允许调用先前执行过的脚本中的过程。
自 JDK 版本:
1.6
  • Method Summary

    Modifier and Type
    Method
    Description
    <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的状态中保留。
  • Method Details

    • invokeMethod

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

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

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

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