程序包 cn.taketoday.core.annotation
package cn.taketoday.core.annotation
Core support package for annotations, meta-annotations, and merged
annotations with attribute overrides.
- 作者:
- TODAY 2021/8/15 22:41
-
类说明AbstractMergedAnnotation<A extends Annotation>Abstract base class for
MergedAnnotationimplementations.@AliasForis an annotation that is used to declare aliases for annotation attributes.General utility methods for finding annotations, meta-annotations, and repeatable annotations onAnnotatedElements.AdaptedAnnotatedElementthat hold specific annotations.LinkedHashMapsubclass representing annotation attribute key-value pairs as read byAnnotationUtils,AnnotatedElementUtils, and reflection- and ASM-basedAnnotationMetadataimplementations.AnnotationAwareOrderComparatoris an extension ofOrderComparatorthat supportsOrderedinterface as well as the@Orderand@Priorityannotations, with an order value provided by anOrderedinstance overriding a statically defined annotation value (if any).Thrown byAnnotationUtilsand synthesized annotations if an annotation is improperly configured.Callback interface that can be used to filter specific annotation types.AnnotationProvider<A extends Annotation>AnnotationsProcessor<C,R> Callback interface used to process annotations.Scanner to search for relevant annotations in the annotation hierarchy of anAnnotatedElement.Provides mapping information for a single annotation (or meta-annotation) in the context of a root annotation type.ProvidesAnnotationTypeMappinginformation for a single source annotation type.Cache created perAnnotationFilter.General utility methods for working with annotations, handling meta-annotations, bridge methods (which the compiler generates for generic declarations) as well as super methods (for optional annotation inheritance).Internal holder used to wrap default values.Provides a quick way to access the attribute methods of anAnnotationwith consistent ordering as well as a few useful utility methods.Log facade used to handle annotation introspection failures (in particularTypeNotPresentExceptions).MergedAnnotation<A extends Annotation>A single merged annotation returned from aMergedAnnotationscollection.Adaptations that can be applied to attribute values when creating Maps orAnnotationAttributes.Collectorimplementations that provide various reduction operations forMergedAnnotationinstances.Predicate implementations that provide various test operations forMergedAnnotations.Predicateimplementation used forMergedAnnotationPredicates.firstRunOf(Function).Predicateimplementation used forMergedAnnotationPredicates.unique(Function).Fluent API for configuring the search algorithm used in theMergedAnnotationsmodel and performing a search.Search strategies supported byMergedAnnotations.search(SearchStrategy)as well asMergedAnnotations.from(AnnotatedElement, SearchStrategy)and variants of that method.MergedAnnotationsimplementation backed by aCollectionofMergedAnnotationinstances that represent direct annotations.MergedAnnotationSelector<A extends Annotation>Strategy interface used to select between twoMergedAnnotationinstances.MergedAnnotationSelectorimplementations that provide various options forMergedAnnotationinstances.MergedAnnotationSelectorto select the first directly declared annotation.MergedAnnotationSelectorto select the nearest annotation.MissingMergedAnnotation<A extends Annotation>AnAbstractMergedAnnotationused as the implementation ofMergedAnnotation.missing().@Orderdefines the sort order for an annotated component.General utility for determining the order of an object based on its type declaration.AnnotationFilterimplementation used forAnnotationFilter.packages(String...).Strategy used to determine annotations that act as containers for other annotations.A single explicit mapping.StandardRepeatableContainersimplementation that searches using Java's@Repeatableannotation.InvocationHandlerfor anAnnotationthat has synthesized (i.e. wrapped in a dynamic proxy) with additional functionality such as attribute alias handling.AMethodParametervariant which synthesizes annotations that declare attribute aliases via@AliasFor.TypeMappedAnnotation<A extends Annotation>MergedAnnotationthat adapts attributes from a root annotation by applying the mapping and mirroring rules of anAnnotationTypeMapping.MergedAnnotationsimplementation that searches for and adapts annotations and meta-annotations usingAnnotationTypeMappings.AnnotationsProcessorused to detect if an annotation is directly present or meta-present.Strategy API for extracting a value for an annotation attribute from a given source object which is typically anAnnotation,Map, orTypeMappedAnnotation.