public class AliasAttributeResolver extends AbstractDynamicAttributeResolver
用于处理注解对象中带有Link注解,且Link.type()为
RelationType.ALIAS_FOR或RelationType.FORCE_ALIAS_FOR的属性。
当该处理器执行完毕后,Link注解指向的目标注解的属性将会被包装并替换为
AliasedAnnotationAttribute或ForceAliasedAnnotationAttribute。
RelationType.ALIAS_FOR,
AliasedAnnotationAttribute,
RelationType.FORCE_ALIAS_FOR,
ForceAliasedAnnotationAttributeALIAS_ATTRIBUTE_RESOLVER_ORDER, COVERED_ATTRIBUTE_RESOLVER_ORDER, MIRROR_ATTRIBUTE_RESOLVER_ORDER| 构造器和说明 |
|---|
AliasAttributeResolver()
创建一个别名字段处理器
|
AliasAttributeResolver(Comparator<HierarchicalAnnotation<Annotation>> comparator)
创建一个别名字段处理器
|
| 限定符和类型 | 方法和说明 |
|---|---|
int |
order()
|
protected void |
processLinkedAttribute(AnnotationSynthesizer synthesizer,
Link annotation,
HierarchicalAnnotation<Annotation> originalAnnotation,
AnnotationAttribute originalAttribute,
HierarchicalAnnotation<Annotation> linkedAnnotation,
AnnotationAttribute linkedAttribute)
获取
Link指向的目标注解属性,并根据Link.type()的类型是
RelationType.ALIAS_FOR或RelationType.FORCE_ALIAS_FOR
将目标注解属性包装为AliasedAnnotationAttribute或ForceAliasedAnnotationAttribute,
然后用包装后注解属性在对应的合成注解中替换原始的目标注解属性 |
protected RelationType[] |
processTypes()
|
checkAttributeType, checkLinkedAttributeNotNull, checkLinkedSelf, getAttributeAnnotation, getLinkedAnnotation, getLinkedAnnotationType, resolvepublic AliasAttributeResolver(Comparator<HierarchicalAnnotation<Annotation>> comparator)
comparator - 比较器,若为空则不对别名字段的优先级做出校验public AliasAttributeResolver()
public int order()
protected RelationType[] processTypes()
protected void processLinkedAttribute(AnnotationSynthesizer synthesizer, Link annotation, HierarchicalAnnotation<Annotation> originalAnnotation, AnnotationAttribute originalAttribute, HierarchicalAnnotation<Annotation> linkedAnnotation, AnnotationAttribute linkedAttribute)
Link指向的目标注解属性,并根据Link.type()的类型是
RelationType.ALIAS_FOR或RelationType.FORCE_ALIAS_FOR
将目标注解属性包装为AliasedAnnotationAttribute或ForceAliasedAnnotationAttribute,
然后用包装后注解属性在对应的合成注解中替换原始的目标注解属性processLinkedAttribute 在类中 AbstractDynamicAttributeResolversynthesizer - 注解合成器annotation - originalAttribute上的Link注解对象originalAnnotation - 当前正在处理的HierarchicalAnnotation对象originalAttribute - originalAnnotation上的待处理的属性linkedAnnotation - Link指向的关联注解对象linkedAttribute - Link指向的originalAnnotation中的关联属性,该参数可能为空Copyright © 2022. All rights reserved.