インターフェース AfterTypeDiscovery


  • public interface AfterTypeDiscovery

    このイベント型は、型の検出が完了した後にコンテナーによってスローされます。AfterTypeDiscovery イベントのオブザーバーメソッドが例外をスローした場合、その例外はコンテナーによって定義エラーとして扱われます。

    このイベントのオブザーバーは、選択肢のリスト、インターセプターのリスト、デコレーターのリストにクラスを追加またはクラスから削除することが許可されています。コンテナーは、すべてのオブザーバーが呼び出された後、これらのリストの最終的な値を使用して、アプリケーションで有効な代替、インターセプター、デコレーターを決定します。AfterTypeDiscovery の最後のオブザーバーメソッドの呼び出し後にこれらのリストに加えられた変更は無視されます。

    CDI Lite の実装は、Portable Extensions のサポートを提供する必要はありません。

    導入:
    1.1
    作成者:
    Pete Muir, Antoine Sabot-Durand
    • メソッドの詳細

      • getAlternatives

        ListSE<ClassSE<?>> getAlternatives()
        戻り値:
        アプリケーションの有効な代替のリスト。優先度の昇順で並べ替えられています。Bean アーカイブに対して有効な代替は含まれていません。
        例外:
        IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
      • getInterceptors

        ListSE<ClassSE<?>> getInterceptors()
        戻り値:
        アプリケーションの有効なインターセプターのリスト。優先度の昇順で並べ替えられています。Bean アーカイブに対して有効になっているインターセプターは含まれていません。
        例外:
        IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
      • getDecorators

        ListSE<ClassSE<?>> getDecorators()
        戻り値:
        アプリケーションで有効になっているデコレータのリスト。優先度の昇順で並べ替えられています。Bean アーカイブに対して有効なデコレーターは含まれていません。
        例外:
        IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
      • addAnnotatedType

        <T> AnnotatedTypeConfigurator<T> addAnnotatedType​(ClassSE<T> type,
                                                          StringSE id)

        新しい AnnotatedTypeConfigurator を取得して新しい AnnotatedType を構成し、それをオブザーバー呼び出しの最後に Bean ディスカバリ中にスキャンされる型のセットに追加します。このメソッドを複数回呼び出すと、新しい AnnotatedTypeConfigurator が返されます。

        id パラメーターのおかげで、このメソッドでは、同じ基本型に基づく複数のアノテーション付き型を定義できます。コンテナーによって検出された AnnotatedType は、AnnotatedType.getJavaClass() の完全修飾クラス名を使用して型を識別します。

        AfterBeanDiscovery.getAnnotatedType(Class, String) および AfterBeanDiscovery.getAnnotatedTypes(Class) では、アノテーション付きの型を識別子で取得できます。

        呼び出しごとに新しい AnnotatedTypeConfigurator が返されます。
        型パラメーター:
        T - アノテーション付きインスタンス型
        パラメーター:
        type - AnnotatedTypeConfigurator の型とアノテーションを初期化するために使用されるクラス
        id - この AnnotatedType を同じ基本型に基づく他の AnnotatedType と区別するために使用される識別子
        戻り値:
        新しい AnnotatedType を構成するための再利用できない AnnotatedTypeConfigurator
        例外:
        IllegalStateExceptionSE - オブザーバーメソッド呼び出し以外で呼び出された場合
        導入:
        2.0