- 既知のすべての実装クラス:
NashornScriptEngine
public interface Invocable
以前に実行されたスクリプト内の手続きの呼出しを許可するメソッドを持つScriptEnginesによって実装されるオプションのインタフェースです。
- 導入されたバージョン:
- 1.6
-
メソッドのサマリー
修飾子と型 メソッド 説明 <T> T
getInterface(クラス<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, NoSuchMethodExceptionScriptEngine
の状態に保持されている、以前のスクリプトの実行中にコンパイルされたスクリプト・オブジェクト上のメソッドを呼び出します。- パラメータ:
name
- 呼び出される手続きの名前。thiz
- 手続きがスクリプト内で定義されたクラスのメンバーであり、thizが以前の実行または呼出しによって返されたクラスのインスタンスである場合は、そのインスタンスを使用して名前付きメソッドが呼び出される。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(クラス<T> clasz)インタプリタでコンパイルされた関数を使用して、インタフェースの実装を返します。 インタフェースのメソッドは、invokeFunction
メソッドを使用して実装することができます。- 型パラメータ:
T
- 返すインタフェースの型- パラメータ:
clasz
- 返すインタフェースのClass
オブジェクト。- 戻り値:
- 要求されたインタフェースのインスタンス。要求されたインタフェースが見つからない場合、すなわち
ScriptEngine
内でコンパイル済み関数が、要求されたインタフェース内のどの関数とも一致しない場合はnull。 - 例外:
IllegalArgumentException
- 指定されたClass
オブジェクトがnullの場合、またはインタフェースではない場合。
-
getInterface
インタプリタでコンパイルされたスクリプト・オブジェクトのメンバー関数を使用して、インタフェースの実装を返します。 インタフェースのメソッドは、invokeMethod
メソッドを使用して実装することができます。- 型パラメータ:
T
- 返すインタフェースの型- パラメータ:
thiz
- インタフェースのメソッドを実装するために使用されるメンバー関数を持つスクリプト・オブジェクト。clasz
- 返すインタフェースのClass
オブジェクト。- 戻り値:
- 要求されたインタフェースのインスタンス。要求されたインタフェースが見つからない場合、すなわち
ScriptEngine
内のコンパイル済みメソッドが、要求されたインタフェース内のどのメソッドとも一致しない場合はnull。 - 例外:
IllegalArgumentException
- 指定されたClass
オブジェクトがnullの場合、またはインタフェースではない場合、あるいは指定されたオブジェクトがnullの場合、またはスクリプト・オブジェクトを表していない場合。
-