インターフェース InjectionPoint


  • public interface InjectionPoint

    インジェクションポイントに関するメタデータへのアクセスを提供します。Bean コンストラクターイニシャライザーメソッドプロデューサーメソッドディスポーザメソッド、またはオブザーバメソッドの 挿入されたフィールドまたはパラメーターを表す場合があります。

    インジェクションポイントが取得された動的に選択された参照である場合、取得されたメタデータは Instance のインジェクションポイントを反映し、必要な型と Instance.select() によって定義された追加の必要な修飾子があります。

    場合によっては、スコープ @Dependent の Bean が、それが属するオブジェクトに関連するメタデータにアクセスする必要があります。Bean は、Bean が注入されたインジェクションポイントを表す InjectionPoint を注入することができます。

    例: 次のプロデューサーメソッドは、注入可能な Logger を作成します。Logger のログカテゴリは、それが挿入されるオブジェクトのクラスによって異なります。

     @Produces
     Logger createLogger(InjectionPoint injectionPoint) {
         return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
     }
     

    依存オブジェクトのみが、それらが属するインジェクションポイントに関する情報を取得できます。

    作成者:
    Gavin King, Pete Muir
    • メソッドのサマリー

      すべてのメソッド   インスタンスメソッド   抽象メソッド  
      修飾子と型 メソッド 説明
      AnnotatedgetAnnotated()
      インジェクションポイントが注入されたフィールドであるか、コンストラクター / メソッドパラメーターであるかに応じて、AnnotatedField または AnnotatedParameter のインスタンスを取得します。
      Bean<?>getBean()
      インジェクションポイントを定義する Bean を表す Bean オブジェクトを取得します。
      MemberSEgetMember()
      フィールドインジェクションの場合は FieldSE オブジェクト、メソッドパラメーターインジェクションの場合は MethodSE オブジェクト、コンストラクターパラメーターインジェクションの場合は ConstructorSE オブジェクトを取得します。
      SetSE<AnnotationSE>getQualifiers()
      インジェクションポイントに必要な修飾子を取得します。
      TypeSEgetType()
      必要な型のインジェクションポイントを取得します。
      booleanisDelegate()
      インジェクションポイントがデコレータデリゲートインジェクションポイントであるかどうかを判別します。
      booleanisTransient()
      注入が一時的なフィールドであるかどうかを判別します。
    • メソッドの詳細

      • getType

        TypeSE getType()
        必要な型のインジェクションポイントを取得します。
        戻り値:
        必要な型
      • getQualifiers

        SetSE<AnnotationSE> getQualifiers()
        インジェクションポイントに必要な修飾子を取得します。
        戻り値:
        必要な修飾子
      • getBean

        Bean<?> getBean()
        インジェクションポイントを定義する Bean を表す Bean オブジェクトを取得します。インジェクションポイントが Bean に属していない場合は、null 値を返します。
        戻り値:
        インジェクションポイントを定義する Bean を表す Bean オブジェクト。インジェクションポイントが Bean に属していない場合は null
      • getMember

        MemberSE getMember()
        フィールドインジェクションの場合は FieldSE オブジェクト、メソッドパラメーターインジェクションの場合は MethodSE オブジェクト、コンストラクターパラメーターインジェクションの場合は ConstructorSE オブジェクトを取得します。
        戻り値:
        メンバー
      • getAnnotated

        Annotated getAnnotated()
        インジェクションポイントが注入されたフィールドであるか、コンストラクター / メソッドパラメーターであるかに応じて、AnnotatedField または AnnotatedParameter のインスタンスを取得します。
        戻り値:
        AnnotatedField または AnnotatedParameter
      • isDelegate

        boolean isDelegate()
        インジェクションポイントがデコレータデリゲートインジェクションポイントであるかどうかを判別します。
        戻り値:
        インジェクションポイントがデコレータデリゲートインジェクションポイントの場合は true、それ以外の場合は false 
      • isTransient

        boolean isTransient()
        注入が一時的なフィールドであるかどうかを判別します。
        戻り値:
        インジェクションポイントが過渡場の場合は true、それ以外の場合は false