インターフェース 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オブジェクトを返します。voidsetProducer(Producer<X> producer) コンテナーがプロデューサーメソッドを呼び出すため、またはプロデューサーフィールドを読み取るために使用するProducerオブジェクトを置き換えます。
メソッドの詳細
getAnnotatedMember
AnnotatedMember<T> getAnnotatedMember()プロデューサーフィールドを表すAnnotatedFieldまたはプロデューサーメソッドを表すAnnotatedMethodを返します。- 戻り値:
- プロデューサーを表す
AnnotatedMember - 例外:
IllegalStateExceptionSE- オブザーバーメソッド呼び出し以外で呼び出された場合
getProducer
コンテナーがプロデューサーメソッドを呼び出すか、プロデューサーフィールドを読み取るために使用するProducerオブジェクトを返します。- 戻り値:
- コンテナーによって使用される
Producer呼び出し側オブジェクト - 例外:
IllegalStateExceptionSE- オブザーバーメソッド呼び出し以外で呼び出された場合
setProducer
コンテナーがプロデューサーメソッドを呼び出すため、またはプロデューサーフィールドを読み取るために使用するProducerオブジェクトを置き換えます。- パラメーター:
producer- 使用する新しいProducerオブジェクト- 例外:
IllegalStateExceptionSE- オブザーバーメソッド呼び出し以外で呼び出された場合
configureProducer
ProducerConfigurator<X> configureProducer()このイベントによって処理されたProducerで初期化されたProducerConfiguratorを返し、オブザーバー呼び出しの最後に元のProducerを置き換える新しいProducerを構成します。各呼び出しは、オブザーバー通知内で同じコンフィギュレーターインスタンスを返します。
- 戻り値:
- 元の
Producerを構成するための再利用不可能なProducerConfigurator。 - 例外:
IllegalStateExceptionSE- オブザーバーメソッド呼び出し以外で呼び出された場合- 導入:
- 2.0
addDefinitionError
定義エラーをコンテナーに登録し、Bean ディスカバリの完了後にコンテナーがデプロイをアボートするようにします。- パラメーター:
t-ThrowableSE として登録する定義エラー- 例外:
IllegalStateExceptionSE- オブザーバーメソッド呼び出し以外で呼び出された場合