public interface InjectionPointインジェクションポイントに関するメタデータへのアクセスを提供します。Bean コンストラクター、イニシャライザーメソッド、プロデューサーメソッド、ディスポーザメソッド、またはオブザーバメソッドの 挿入されたフィールドまたはパラメーターを表す場合があります。
インジェクションポイントが取得された動的に選択された参照である場合、取得されたメタデータは Instance のインジェクションポイントを反映し、必要な型と Instance.select() によって定義された追加の必要な修飾子があります。
場合によっては、スコープ @Dependent の Bean が、それが属するオブジェクトに関連するメタデータにアクセスする必要があります。Bean は、Bean が注入されたインジェクションポイントを表す InjectionPoint を注入することができます。
例: 次のプロデューサーメソッドは、注入可能なロガーを作成します。 Logger のログカテゴリは、挿入されるオブジェクトのクラスによって異なります。
@Produces
Logger createLogger(InjectionPoint injectionPoint) {
return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
依存オブジェクトのみが、それらが属するインジェクションポイントに関する情報を取得できます。
| 修飾子と型 | メソッドと説明 |
|---|---|
Annotated | getAnnotated() インジェクションポイントが注入されたフィールドであるか、コンストラクター / メソッドパラメーターであるかに応じて、 AnnotatedField または AnnotatedParameter のインスタンスを取得します。 |
Bean<?> | getBean() インジェクションポイントを定義する Bean を表す Bean オブジェクトを取得します。 |
MemberSE | getMember() フィールドインジェクションの場合は FieldSE オブジェクト、メソッドパラメーターインジェクションの場合は MethodSE オブジェクト、コンストラクターパラメーターインジェクションの場合は ConstructorSE オブジェクトを取得します。 |
SetSE<AnnotationSE> | getQualifiers() インジェクションポイントに必要な修飾子を取得します。 |
TypeSE | getType() 必要な型のインジェクションポイントを取得します。 |
boolean | isDelegate() インジェクションポイントがデコレータデリゲートインジェクションポイントであるかどうかを判別します。 |
boolean | isTransient() 注入が一時的なフィールドであるかどうかを判別します。 |
TypeSE getType()
SetSE<AnnotationSE> getQualifiers()
Bean<?> getBean()
Bean オブジェクトを取得します。インジェクションポイントが Bean に属していない場合は、null 値を返します。Bean オブジェクト。インジェクションポイントが Bean に属していない場合は nullMemberSE getMember()
FieldSE オブジェクト、メソッドパラメーターインジェクションの場合は MethodSE オブジェクト、コンストラクターパラメーターインジェクションの場合は ConstructorSE オブジェクトを取得します。Annotated getAnnotated()
AnnotatedField または AnnotatedParameter のインスタンスを取得します。AnnotatedField または AnnotatedParameterboolean isDelegate()
boolean isTransient()
Copyright © 2019 Eclipse Foundation.
Use is subject to license terms.