Package org.miaixz.bus.core.annotation.resolve
package org.miaixz.bus.core.annotation.resolve
注解包,提供增强型注解和注解工具类,处理包括:
- 注解元素(AnnotatedElements)上的注解。
- 父元素上的注解(包括类、接口、方法、属性)。
- 注解上的注解。
- 父元素上的注解上的注解。
- Since:
- Java 17+
- Author:
- Kimi Liu
-
ClassDescription
AnnotatedElement工具类,提供对层级结构中AnnotatedElement上注解及元注解的访问支持, 并提供诸如基于Alias的属性别名、基于父子注解间的属性值覆盖等特殊的属性映射机制支持。AnnotationMapping<T extends Annotation>用于增强注解的包装器AnnotationMappingProxy<T extends Annotation>代理注解处理器,用于为AnnotationMapping生成代理对象,当从该代理对象上获取属性值时, 总是通过AnnotationMapping.getResolvedAttributeValue(String, Class)获取。AnnotationProxy<T extends Annotation>注解代理 通过代理指定注解,可以自定义调用注解的方法逻辑,如支持Alias注解AnnotationMapping的基本实现,仅仅是简单包装了注解对象可重复注解收集器,用于从一个注解获得被它包含的可重复注解RepeatableAnnotationCollector的基本实现自定义判断条件的实现,当解析注解属性时,将根据给定的判断条件, 确定该属性中是否含有可重复注解,收集器将返回所有匹配的属性中的可重复注解。全量实现,当注解中存在有属性为注解数组,且该数组对应的注解类型被Repeatable注解时, 认为该属性包含可重复注解。 收集器将返回所有符合上述条件的属性中的可重复注解。空实现标准实现,当注解中有且仅有一个名为value的属性时, 若该属性类型为注解数组,且该数组对应的注解类型被Repeatable注解, 则收集器将返回该属性中包括的可重复注解。注解映射,用于包装并增强一个普通注解对象, 包装后的可以通过getResolvedXXX获得注解对象或属性值, 可以支持属性别名与属性覆写的属性解析机制