public class MirrorAttributeResolver extends AbstractDynamicAttributeResolver
用于处理注解对象中带有Link注解,且Link.type()为RelationType.MIRROR_FOR的属性。
当该处理器执行完毕后,原始合成注解中被Link注解的属性与Link注解指向的目标注解的属性,
都将会被被包装并替换为MirroredAnnotationAttribute。
RelationType.MIRROR_FOR,
MirroredAnnotationAttributeALIAS_ATTRIBUTE_RESOLVER_ORDER, COVERED_ATTRIBUTE_RESOLVER_ORDER, MIRROR_ATTRIBUTE_RESOLVER_ORDER| 构造器和说明 |
|---|
MirrorAttributeResolver() |
| 限定符和类型 | 方法和说明 |
|---|---|
int |
order()
|
protected void |
processLinkedAttribute(AnnotationSynthesizer synthesizer,
Link annotation,
HierarchicalAnnotation<Annotation> originalAnnotation,
AnnotationAttribute originalAttribute,
HierarchicalAnnotation<Annotation> linkedAnnotation,
AnnotationAttribute linkedAttribute)
将存在镜像关系的合成注解属性分别包装为
MirroredAnnotationAttribute对象,
并使用包装后MirroredAnnotationAttribute替换在它们对应合成注解实例中的AnnotationAttribute |
protected RelationType[] |
processTypes()
该处理器只处理
Link.type()类型为RelationType.MIRROR_FOR的注解属性 |
checkAttributeType, checkLinkedAttributeNotNull, checkLinkedSelf, getAttributeAnnotation, getLinkedAnnotation, getLinkedAnnotationType, resolvepublic int order()
protected RelationType[] processTypes()
Link.type()类型为RelationType.MIRROR_FOR的注解属性processTypes 在类中 AbstractDynamicAttributeResolverRelationType.MIRROR_FOR数组protected void processLinkedAttribute(AnnotationSynthesizer synthesizer, Link annotation, HierarchicalAnnotation<Annotation> originalAnnotation, AnnotationAttribute originalAttribute, HierarchicalAnnotation<Annotation> linkedAnnotation, AnnotationAttribute linkedAttribute)
MirroredAnnotationAttribute对象,
并使用包装后MirroredAnnotationAttribute替换在它们对应合成注解实例中的AnnotationAttributeprocessLinkedAttribute 在类中 AbstractDynamicAttributeResolversynthesizer - 注解合成器annotation - originalAttribute上的Link注解对象originalAnnotation - 当前正在处理的HierarchicalAnnotation对象originalAttribute - originalAnnotation上的待处理的属性linkedAnnotation - Link指向的关联注解对象linkedAttribute - Link指向的originalAnnotation中的关联属性,该参数可能为空Copyright © 2022. All rights reserved.