T
- プロデューサーメソッドまたはフィールドを宣言する Bean の Bean クラス X
- プロデューサーメソッドの戻りの型またはプロデューサーフィールドの型 public interface ProcessProducer<T,X>
コンテナーは、リソースを含む、有効になっている Bean ごとに、プロデューサーメソッドまたはフィールドごとにこの型のイベントを発生させます。
このイベントのオブザーバーは、setProducer(Producer)
または configureProducer()
のいずれかを呼び出すことにより、Producer
をラップおよび / または置き換えることができます。オブザーバー通知内で両方のメソッドが呼び出されると、IllegalStateException
SE がスローされます。コンテナーは、すべてのオブザーバーが呼び出された後、プロデューサーまたはディスポーザーを呼び出すたびに、このプロパティの最終値を使用する必要があります。
例: このオブザーバーは、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
を返します。AnnotatedMember
IllegalStateExceptionSE
- オブザーバーメソッド呼び出し以外で呼び出された場合 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
- Throwable
SE として登録する定義エラー IllegalStateExceptionSE
- オブザーバーメソッド呼び出し以外で呼び出された場合 Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.