public interface WrappedAnnotationAttribute extends AnnotationAttribute
表示一个被包装过的原始AnnotationAttribute,
该原始属性存在一个关联属性,该关联属性的值可能会直接替换原始属性的值,
或者基于特定的规则影响到原始属性的值。
当包装类被包装了多层后,则规则生效优先级按包装的顺序倒序执行
eg:
比如a属性别被Wrapper1包装,然后包装后的a属性又再次被Wrapper2包装,
此时处理a属性,则优先执行Wrapper2的逻辑,再处理Wrapper1的逻辑
generate: original -> Wrapper1 -> Wrapper2
execute: Wrapper2 -> Wrapper1 -> original
AnnotationAttribute| 限定符和类型 | 方法和说明 |
|---|---|
Collection<AnnotationAttribute> |
getAllLinkedNonWrappedAttributes()
遍历以当前实例为根节点的树结构,获取所有未被包装的属性
|
default Annotation |
getAnnotation()
获取注解对象
|
default Method |
getAttribute()
获取注解属性对应的方法
|
default Class<?> |
getAttributeType()
获取属性类型
|
AnnotationAttribute |
getLinked()
|
AnnotationAttribute |
getNonWrappedOriginal()
获取最初的被包装的
AnnotationAttribute |
AnnotationAttribute |
getOriginal()
获取被包装的
AnnotationAttribute对象,该对象也可能是AnnotationAttribute |
boolean |
isValueEquivalentToDefaultValue()
|
default boolean |
isWrapped()
当前注解属性是否已经被
WrappedAnnotationAttribute包装 |
getAnnotationType, getAttributeName, getValueAnnotationAttribute getOriginal()
AnnotationAttribute对象,该对象也可能是AnnotationAttributeAnnotationAttribute对象AnnotationAttribute getNonWrappedOriginal()
AnnotationAttributeAnnotationAttributeAnnotationAttribute getLinked()
Collection<AnnotationAttribute> getAllLinkedNonWrappedAttributes()
default Annotation getAnnotation()
getAnnotation 在接口中 AnnotationAttributedefault Method getAttribute()
getAttribute 在接口中 AnnotationAttributeboolean isValueEquivalentToDefaultValue()
isValueEquivalentToDefaultValue 在接口中 AnnotationAttributedefault Class<?> getAttributeType()
getAttributeType 在接口中 AnnotationAttributedefault boolean isWrapped()
WrappedAnnotationAttribute包装isWrapped 在接口中 AnnotationAttributeCopyright © 2022. All rights reserved.