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