インターフェース MetaAnnotations


  • public interface MetaAnnotations
    カスタム CDI メタアノテーション (修飾子、インターセプターバインディング、ステレオタイプ、スコープ) の登録を許可します。カスタムスコープを登録するときは、コンテキストクラスも提供する必要があります。
    導入:
    4.0
    • メソッドの詳細

      • addQualifier

        ClassConfig addQualifier​(ClassSE<? extends AnnotationSE> annotation)
        修飾子アノテーションとして annotation を登録します。アノテーションがメタアノテーション付き @Qualifier でない場合にのみ意味があります。

        annotation のメタアノテーションを変換できるクラスコンフィギュレーターオブジェクトを返します。

        パラメーター:
        annotation - アノテーション型
        戻り値:
        クラスコンフィギュレータ、決して null ではありません
      • addInterceptorBinding

        ClassConfig addInterceptorBinding​(ClassSE<? extends AnnotationSE> annotation)
        annotation をインターセプターバインディングアノテーションとして登録します。アノテーションがメタアノテーション付き @InterceptorBinding でない場合にのみ意味があります。

        annotation のメタアノテーションを変換できるクラスコンフィギュレーターオブジェクトを返します。

        パラメーター:
        annotation - アノテーション型
        戻り値:
        クラスコンフィギュレータ、決して null ではありません
      • addStereotype

        ClassConfig addStereotype​(ClassSE<? extends AnnotationSE> annotation)
        annotation をステレオタイプアノテーションとして登録します。アノテーションがメタアノテーション付き @Stereotype でない場合にのみ意味があります。

        annotation のメタアノテーションを変換できるクラスコンフィギュレーターオブジェクトを返します。

        パラメーター:
        annotation - アノテーション型
        戻り値:
        クラスコンフィギュレータ、決して null ではありません
      • addContext

        void addContext​(ClassSE<? extends AnnotationSE> scopeAnnotation,
                        ClassSE<? extends AlterableContext> contextClass)
        指定された scopeAnnotation および指定された contextClass のカスタムコンテキストを登録します。CDI コンテナーは、コンテキストオブジェクトを取得するために、コンテキストクラスのインスタンスを 1 回作成します。コンテキストクラスは public である必要があり、public ゼロパラメーターコンストラクターが必要です。Bean であってはなりません。

        スコープが正常かどうかは、スコープアノテーションからわかります。これは、スコープアノテーションに @NormalScope または @Scope のいずれかのメタアノテーションを付ける必要があることを意味します。

        パラメーター:
        scopeAnnotation - スコープアノテーション型。null であってはなりません
        contextClass - コンテキストクラス。null であってはなりません
        例外:
        IllegalArgumentExceptionSE - scopeAnnotation がメタアノテーション付き @NormalScope または @Scope でない場合
      • addContext

        void addContext​(ClassSE<? extends AnnotationSE> scopeAnnotation,
                        boolean isNormal,
                        ClassSE<? extends AlterableContext> contextClass)
        指定された scopeAnnotation および指定された contextClass のカスタムコンテキストを登録します。CDI コンテナーは、コンテキストオブジェクトを取得するために、コンテキストクラスのインスタンスを 1 回作成します。コンテキストクラスは public である必要があり、public ゼロパラメーターコンストラクターが必要です。Bean であってはなりません。

        isNormal パラメーターは、スコープが通常のスコープか疑似スコープかを決定します。

        パラメーター:
        scopeAnnotation - スコープアノテーション型。null であってはなりません
        isNormal - スコープが正常かどうか
        contextClass - コンテキストクラス。null であってはなりません