public interface AnnotationScanner
注解扫描器,用于从支持的可注解元素上获取所需注解
默认提供了以下扫描方式:
NOTHING
:什么都不做,什么注解都不扫描;DIRECTLY
:扫描元素本身直接声明的注解,包括父类带有Inherited
、被传递到元素上的注解;DIRECTLY_AND_META_ANNOTATION
:扫描元素本身直接声明的注解,包括父类带有Inherited
、被传递到元素上的注解,
以及这些注解的元注解;
SUPERCLASS
:扫描元素本身以及父类的层级结构中声明的注解;SUPERCLASS_AND_META_ANNOTATION
:扫描元素本身以及父类的层级结构中声明的注解,以及这些注解的元注解;INTERFACE
:扫描元素本身以及父接口的层级结构中声明的注解;INTERFACE_AND_META_ANNOTATION
:扫描元素本身以及父接口的层级结构中声明的注解,以及这些注解的元注解;TYPE_HIERARCHY
:扫描元素本身以及父类、父接口的层级结构中声明的注解;TYPE_HIERARCHY_AND_META_ANNOTATION
:扫描元素本身以及父接口、父接口的层级结构中声明的注解,以及这些注解的元注解;TypeAnnotationScanner
,
MethodAnnotationScanner
,
FieldAnnotationScanner
,
MetaAnnotationScanner
,
ElementAnnotationScanner
,
GenericAnnotationScanner
Modifier and Type | Field and Description |
---|---|
static AnnotationScanner |
DIRECTLY
扫描元素本身直接声明的注解,包括父类带有
Inherited 、被传递到元素上的注解的扫描器 |
static AnnotationScanner |
DIRECTLY_AND_META_ANNOTATION
扫描元素本身直接声明的注解,包括父类带有
Inherited 、被传递到元素上的注解,以及这些注解的元注解的扫描器 |
static AnnotationScanner |
INTERFACE
扫描元素本身以及父接口的层级结构中声明的注解的扫描器
|
static AnnotationScanner |
INTERFACE_AND_META_ANNOTATION
扫描元素本身以及父接口的层级结构中声明的注解,以及这些注解的元注解的扫描器
|
static AnnotationScanner |
NOTHING
不扫描任何注解
|
static AnnotationScanner |
SUPERCLASS
扫描元素本身以及父类的层级结构中声明的注解的扫描器
|
static AnnotationScanner |
SUPERCLASS_AND_META_ANNOTATION
扫描元素本身以及父类的层级结构中声明的注解,以及这些注解的元注解的扫描器
|
static AnnotationScanner |
TYPE_HIERARCHY
扫描元素本身以及父类、父接口的层级结构中声明的注解的扫描器
|
static AnnotationScanner |
TYPE_HIERARCHY_AND_META_ANNOTATION
扫描元素本身以及父接口、父接口的层级结构中声明的注解,以及这些注解的元注解的扫描器
|
static final AnnotationScanner NOTHING
static final AnnotationScanner DIRECTLY
Inherited
、被传递到元素上的注解的扫描器static final AnnotationScanner DIRECTLY_AND_META_ANNOTATION
Inherited
、被传递到元素上的注解,以及这些注解的元注解的扫描器static final AnnotationScanner SUPERCLASS
static final AnnotationScanner SUPERCLASS_AND_META_ANNOTATION
static final AnnotationScanner INTERFACE
static final AnnotationScanner INTERFACE_AND_META_ANNOTATION
static final AnnotationScanner TYPE_HIERARCHY
static final AnnotationScanner TYPE_HIERARCHY_AND_META_ANNOTATION
static List<Annotation> scanByAnySupported(AnnotatedElement annotatedEle, AnnotationScanner... scanners)
annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissionscanners
- 注解扫描器static List<Annotation> scanByAllSupported(AnnotatedElement annotatedEle, AnnotationScanner... scanners)
annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissionscanners
- 注解扫描器default boolean support(AnnotatedElement annotatedEle)
annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissiondefault List<Annotation> getAnnotations(AnnotatedElement annotatedEle)
support(AnnotatedElement)
返回为trueannotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissiondefault List<Annotation> getAnnotationsIfSupport(AnnotatedElement annotatedEle)
support(AnnotatedElement)
返回true
,
则调用并返回getAnnotations(AnnotatedElement)
结果,
否则返回Collections.emptyList()
annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissiondefault void scan(BiConsumer<Integer,Annotation> consumer, AnnotatedElement annotatedEle, Predicate<Annotation> filter)
support(AnnotatedElement)
返回为trueconsumer
- 对获取到的注解和注解对应的层级索引的处理annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissionfilter
- 注解过滤器,无法通过过滤器的注解不会被处理。该参数允许为空。default void scanIfSupport(BiConsumer<Integer,Annotation> consumer, AnnotatedElement annotatedEle, Predicate<Annotation> filter)
consumer
- 对获取到的注解和注解对应的层级索引的处理annotatedEle
- AnnotatedElement
,可以是Class、Method、Field、Constructor、ReflectPermissionfilter
- 注解过滤器,无法通过过滤器的注解不会被处理。该参数允许为空。Copyright © 2024. All rights reserved.