JavaTM Platform
Standard Ed. 6

javax.script
インタフェース Invocable


public interface Invocable

以前に実行されたスクリプト内の手続きの呼び出しを許可するメソッドを持つ 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 オブジェクトに変換する規則は、実装により固有のものです。
例外:
ScriptException - メソッドの呼び出し中にエラーが発生した場合
NoSuchMethodException - 指定された名前またはマッチングの引数型を持つメソッドが見つからない場合
NullPointerException - メソッド名が null の場合
IllegalArgumentException - 指定された thiz が null の場合、指定されたオブジェクトがスクリプトオブジェクトを表していない場合

invokeFunction

Object invokeFunction(String name,
                      Object... args)
                      throws ScriptException,
                             NoSuchMethodException
スクリプト内で定義されたトップレベルの手続きと関数を呼び出すために使用されます。

パラメータ:
args - 手続きまたは関数に渡される引数
戻り値:
手続きまたは関数によって返される値
例外:
ScriptException - メソッドの呼び出し中にエラーが発生した場合
NoSuchMethodException - 指定された名前またはマッチングの引数型を持つメソッドが見つからない場合
NullPointerException - method が 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 の場合、またはインタフェースではない場合、あるいは指定されたオブジェクトが null の場合、またはスクリプトオブジェクトを表していない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。