インターフェース ProcessProducer<T,X>

型パラメーター:
T - プロデューサーメソッドまたはフィールドを宣言する Bean の Bean クラス
X - プロデューサーメソッドの戻りの型またはプロデューサーフィールドの型

public interface ProcessProducer<T,X>

コンテナーは、リソースを含む、有効になっている Bean ごとに、プロデューサーメソッドまたはフィールドごとにこの型のイベントを発生させます。

このイベントのオブザーバーは、setProducer(Producer) または configureProducer() のいずれかを呼び出すことにより、Producer をラップおよび / または置き換えることができます。オブザーバー通知内で両方のメソッドが呼び出されると、IllegalStateExceptionSE がスローされます。コンテナーは、すべてのオブザーバーが呼び出された後、プロデューサーまたはディスポーザーを呼び出すたびに、このプロパティの最終値を使用する必要があります。

例: このオブザーバーは、EntityManager 型のすべてのプロデューサーメソッドとフィールドの Producer を装飾します。

 void decorateEntityManager(@Observes ProcessProducer<?, EntityManager> pp) {
     pit.setProducer(decorate(pp.getProducer()));
 }
 

ProcessProducer イベントのオブザーバーメソッドが例外をスローした場合、その例外はコンテナーによって定義エラーとして扱われます。

CDI Lite の実装は、Portable Extensions のサポートを提供する必要はありません。

作成者:
David Allen
関連事項:
  • 方法の概要

    修飾子と型
    メソッド
    説明
    void
    定義エラーをコンテナーに登録し、Bean ディスカバリの完了後にコンテナーがデプロイをアボートするようにします。
    このイベントによって処理された Producer で初期化された ProducerConfigurator を返し、オブザーバー呼び出しの最後に元の Producer を置き換える新しい Producer を構成します。
    プロデューサーフィールドを表す AnnotatedField またはプロデューサーメソッドを表す AnnotatedMethod を返します。
    コンテナーがプロデューサーメソッドを呼び出すか、プロデューサーフィールドを読み取るために使用する Producer オブジェクトを返します。
    void
    コンテナーがプロデューサーメソッドを呼び出すため、またはプロデューサーフィールドを読み取るために使用する Producer オブジェクトを置き換えます。
  • メソッドの詳細

    • getAnnotatedMember

      AnnotatedMember<T> getAnnotatedMember()
      プロデューサーフィールドを表す AnnotatedField またはプロデューサーメソッドを表す AnnotatedMethod を返します。
      戻り値:
      プロデューサーを表す AnnotatedMember
      例外:
      IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
    • getProducer

      Producer<X> getProducer()
      コンテナーがプロデューサーメソッドを呼び出すか、プロデューサーフィールドを読み取るために使用する Producer オブジェクトを返します。
      戻り値:
      コンテナーによって使用される Producer 呼び出し側オブジェクト
      例外:
      IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
    • setProducer

      void setProducer(Producer<X> producer)
      コンテナーがプロデューサーメソッドを呼び出すため、またはプロデューサーフィールドを読み取るために使用する Producer オブジェクトを置き換えます。
      パラメーター:
      producer - 使用する新しい Producer オブジェクト
      例外:
      IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
    • configureProducer

      ProducerConfigurator<X> configureProducer()
      このイベントによって処理された Producer で初期化された ProducerConfigurator を返し、オブザーバー呼び出しの最後に元の Producer を置き換える新しい Producer を構成します。

      各呼び出しは、オブザーバー通知内で同じコンフィギュレーターインスタンスを返します。

      戻り値:
      元の Producer を構成するための再利用不可能な ProducerConfigurator
      例外:
      IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
      導入:
      2.0
    • addDefinitionError

      void addDefinitionError(ThrowableSE t)
      定義エラーをコンテナーに登録し、Bean ディスカバリの完了後にコンテナーがデプロイをアボートするようにします。
      パラメーター:
      t - ThrowableSE として登録する定義エラー
      例外:
      IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合