@Retention(value=RUNTIME) @Target(value={}) public static @interface ComponentScan.Filter
Modifier and Type | Optional Element and Description |
---|---|
String[] |
pattern
The String pattern (or patterns) to use for the filter, as an alternative to
specifying a Class
value() . |
FilterType |
type
The type of filter to use.
|
Class<?>[] |
value
The class or classes to use as the filter.
|
public abstract FilterType type
FilterType.ANNOTATION
.public abstract Class<?>[] value
FilterType.ANNOTATION
, the class will be the annotation itself.
In the case of FilterType.ASSIGNABLE_TYPE
, the class will be the
type that detected components should be assignable to. And in the case
of FilterType.CUSTOM
, the class will be an implementation of
TypeFilter
.
When multiple classes are specified, OR logic is applied, e.g. "include
types annotated with @Foo
OR @Bar
".
Specifying zero classes is permitted but will have no effect on component scanning.
public abstract String[] pattern
value()
. In the case of FilterType.ASPECTJ
,
this is an AspectJ type pattern expression; in case of FilterType.REGEX
,
a regex pattern for the fully-qualified class names to match.