JavaTM 2 Platform
Standard Ed. 6

javax.script
介面 Invocable


public interface Invocable

由 ScriptEngines 實作的可選介面,該 ScriptEngines 的方法允許在以前執行過的文稿中調用程序。

從以下版本開始:
1.6

方法摘要
<T> T
getInterface(Class<T> clasz)
          返回一個介面的實作,該介面使用解釋器中編譯的函數。
<T> T
getInterface(Object thiz, Class<T> clasz)
          返回一個介面的實作,該介面使用解釋器中已編譯文稿物件的成員函數。
 Object invokeFunction(String name, Object... args)
          用於調用文稿中定義的頂層程序和函數。
 Object invokeMethod(Object thiz, String name, Object... args)
          對以前的文稿執行中已經編譯的文稿物件(以 ScriptEngine 的狀態保持)調用某一方法。
 

方法詳細資訊

invokeMethod

Object invokeMethod(Object thiz,
                    String name,
                    Object... args)
                    throws ScriptException,
                           NoSuchMethodException
對以前的文稿執行中已經編譯的文稿物件(以 ScriptEngine 的狀態保持)調用某一方法。

參數:
name - 將被調用的程序的名稱。
thiz - 如果該程序是文稿中已定義類別的成員,並且 thiz 是以前的執行或調用所返回的類別的實例,則通過該實例調用指定的方法。
args - 傳遞給程序的參數。將參數轉換為文稿變數的規則是特定於實作的。
返回:
程序所返回的值。將文稿方法返回的文稿變數轉換為 Java Object 的規則是特定於實作的。
拋出:
ScriptException - 如果在調用方法期間發生錯誤。
NoSuchMethodException - 如果不存在具有給定名稱或比對參數型別的方法。
NullPointerException - 如果方法名稱為 null。
IllegalArgumentException - 如果指定的 thiz 為 null,或者指定的 Object 不表示一個文稿物件。

invokeFunction

Object invokeFunction(String name,
                      Object... args)
                      throws ScriptException,
                             NoSuchMethodException
用於調用文稿中定義的頂層程序和函數。

參數:
args - 傳遞給程序或函數的參數
返回:
程序或函數所返回的值
拋出:
ScriptException - 如果在調用方法期間發生錯誤。
NoSuchMethodException - 如果不存在具有給定名稱或比對參數型別的方法。
NullPointerException - 如果方法名稱為 null。

getInterface

<T> T getInterface(Class<T> clasz)
返回一個介面的實作,該介面使用解釋器中編譯的函數。該介面的方法是使用 invokeFunction 方法實作的。

參數:
clasz - 要返回的介面的 Class 物件。
返回:
所請求介面的實例;如果所請求介面不可用,即 ScriptEngine 中不存在與所請求介面中的函數相比對的已編譯函數,則返回 null。
拋出:
IllegalArgumentException - 如果指定的 Class 物件為 null,或者該物件不是一個介面。

getInterface

<T> T getInterface(Object thiz,
                   Class<T> clasz)
返回一個介面的實作,該介面使用解釋器中已編譯文稿物件的成員函數。該介面的方法是使用 invokeMethod 方法實作的。

參數:
thiz - 其成員函數被用來實作介面方法的文稿物件。
clasz - 要返回的介面的 Class 物件。
返回:
所請求介面的實例;如果所請求介面不可用,即 ScriptEngine 中不存在與所請求介面中的方法相比對的已編譯方法,則返回 null。
拋出:
IllegalArgumentException - 如果指定的 Class 物件為 null 或不是一個介面,或者指定的 Object 為 null 或不表示一個文稿物件。

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only