パッケージ jakarta.enterprise.invoke

インターフェース Invoker<T,R>

型パラメーター:
T - ターゲット Bean の型
R - 対象メソッドの戻り値の型

public interface Invoker<T,R>
呼び出し元は、ターゲット Bean のインスタンス上でターゲットメソッドを間接的に呼び出すことを許可します。

CDI ベースのフレームワークは、アプリケーションメソッドを呼び出す必要があるときに呼び出し元を使用することが想定されています。アプリケーションは独自のメソッドを直接呼び出すことができるため、呼び出し元を使用する必要はありません。

例: 次の管理対象 Bean が存在すると仮定します。

 @Dependent
 public class MyService {
     public String hello(String name) {
         return "Hello " + name + "!";
     }
 }
 
さらに、invoker が MyService Bean の hello() メソッドの呼び出し元であり、myService が Bean のコンテキスト参照であると仮定します。次に、hello() メソッドを間接的に呼び出すために、フレームワークは以下を呼び出します。
 invoker.invoke(myService, new Object[] { "world" })
 
戻り値は "Hello world!" になります。
導入:
4.1
関連事項:
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    invoke(T instance, ObjectSE[] arguments)
    指定された arguments を渡して、ターゲット Bean の指定された instance でターゲットメソッドを呼び出します。
  • メソッドの詳細

    • invoke

      R invoke(T instance, ObjectSE[] arguments) throws ExceptionSE
      ターゲット Bean の指定された instance でターゲットメソッドを呼び出し、指定された arguments を渡します。ターゲットメソッドが正常に返された場合、このメソッドは戻り値を返します。ただし、ターゲットメソッドが void と宣言されている場合は、このメソッドは null を返します。ターゲットメソッドが例外をスローした場合、その例外は直接再スローされます。
      パラメーター:
      instance - ターゲットメソッドが呼び出されるターゲット Bean のインスタンス。ターゲットメソッドが static の場合のみ null になります
      arguments - ターゲットメソッドに渡される引数。ターゲットメソッドがパラメーターを宣言していない場合にのみ null になります
      戻り値:
      対象メソッドの戻り値、または対象メソッドが void と宣言されている場合は null 
      例外:
      RuntimeExceptionSE - instance または arguments が正しくない場合
      ExceptionSE - 対象メソッドが例外をスローしたとき