インターフェース MetaAnnotations
public interface MetaAnnotationsカスタム CDI メタアノテーション (修飾子、インターセプターバインディング、ステレオタイプ、スコープ) の登録を許可します。カスタムスコープを登録するときは、コンテキストクラスも提供する必要があります。- 導入:
- 4.0
方法の概要
すべてのメソッド インスタンスメソッド 抽象メソッド 修飾子と型 メソッド 説明 voidaddContext(ClassSE<? extends AnnotationSE> scopeAnnotation, boolean isNormal, ClassSE<? extends AlterableContext> contextClass)指定されたscopeAnnotationおよび指定されたcontextClassのカスタムコンテキストを登録します。voidaddContext(ClassSE<? extends AnnotationSE> scopeAnnotation, ClassSE<? extends AlterableContext> contextClass)指定されたscopeAnnotationおよび指定されたcontextClassのカスタムコンテキストを登録します。ClassConfigaddInterceptorBinding(ClassSE<? extends AnnotationSE> annotation)annotationをインターセプターバインディングアノテーションとして登録します。ClassConfigaddQualifier(ClassSE<? extends AnnotationSE> annotation)修飾子アノテーションとしてannotationを登録します。ClassConfigaddStereotype(ClassSE<? extends AnnotationSE> annotation)annotationをステレオタイプアノテーションとして登録します。
メソッドの詳細
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であってはなりません