@RetentionSE(valueSE=RUNTIMESE) @TargetSE(valueSE={}) public static @interface ComponentScan.Filter
public abstract FilterType type
デフォルトは FilterType.ANNOTATION
です。
@AliasFor(value="value") public abstract ClassSE<?>[] classes
次の表は、type()
属性の構成された値に基づいてクラスがどのように解釈されるかを説明しています。
FilterType | クラスの解釈 |
---|---|
ANNOTATION | アノテーション自体 |
ASSIGNABLE_TYPE | 検出されたコンポーネントが割り当て可能な型 |
CUSTOM | TypeFilter の実装 |
複数のクラスが指定されている場合、OR ロジックが適用されます。たとえば、「 @Foo
OR @Bar
でアノテーションが付けられた型を含める」。
カスタム TypeFilters
は、オプションで次の Aware
インターフェースのいずれかを実装でき、それぞれのメソッドは match
の前に呼び出されます。
クラスを 0 に指定することは許可されていますが、コンポーネントのスキャンには影響しません。