接口的使用
cn.taketoday.core.annotation.MergedAnnotation
使用MergedAnnotation的程序包
程序包
说明
Support for registering the need for reflection, resources, java
serialization and proxies at runtime.
Core support package for annotations, meta-annotations, and merged
annotations with attribute overrides.
Core support package for type introspection.
Support classes for reading annotation and class-level metadata.
-
cn.taketoday.aot.hint中MergedAnnotation的使用
参数类型为MergedAnnotation的cn.taketoday.aot.hint中的方法修饰符和类型方法说明private voidBindingReflectionHintsRegistrar.registerHintsForClassAttributes(ReflectionHints hints, MergedAnnotation<Annotation> annotation) 类型变量类型为MergedAnnotation的cn.taketoday.aot.hint中的方法参数修饰符和类型方法说明private voidBindingReflectionHintsRegistrar.forEachJacksonAnnotation(AnnotatedElement element, Consumer<MergedAnnotation<Annotation>> action) -
cn.taketoday.core.annotation中MergedAnnotation的使用
修饰符和类型类说明(专用程序包) classAbstractMergedAnnotation<A extends Annotation>Abstract base class forMergedAnnotationimplementations.(专用程序包) final classMissingMergedAnnotation<A extends Annotation>AnAbstractMergedAnnotationused as the implementation ofmissing().(专用程序包) final classTypeMappedAnnotation<A extends Annotation>MergedAnnotationthat adapts attributes from a root annotation by applying the mapping and mirroring rules of anAnnotationTypeMapping.修饰符和类型字段说明private final MergedAnnotation<?>[]MergedAnnotationsCollection.annotationsprivate MergedAnnotation<A>TypeMappedAnnotations.MergedAnnotationFinder.result类型参数类型为MergedAnnotation的cn.taketoday.core.annotation中的字段修饰符和类型字段说明private final Function<? super MergedAnnotation<A>,K> MergedAnnotationPredicates.UniquePredicate.keyExtractorprivate final Predicate<? super MergedAnnotation<A>>TypeMappedAnnotations.MergedAnnotationFinder.predicateprivate final Function<? super MergedAnnotation<A>,?> MergedAnnotationPredicates.FirstRunOfPredicate.valueExtractor修饰符和类型方法说明private MergedAnnotation<?>TypeMappedAnnotation.adaptToMergedAnnotation(Object value, Class<? extends Annotation> annotationType) private MergedAnnotation<A>MergedAnnotationsCollection.AnnotationsSpliterator.createMergedAnnotationIfPossible(int annotationIndex, int mappingIndex) (专用程序包) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.Aggregate.createMergedAnnotationIfPossible(int annotationIndex, int mappingIndex, IntrospectionFailureLogger logger) TypeMappedAnnotations.MergedAnnotationFinder.doWithAggregate(Object context, int aggregateIndex) TypeMappedAnnotations.MergedAnnotationFinder.doWithAnnotations(Object type, int aggregateIndex, Object source, Annotation[] annotations) MergedAnnotation.filterAttributes(Predicate<String> predicate) Create a new view of the annotation with only attributes that match the given predicate.MissingMergedAnnotation.filterAttributes(Predicate<String> predicate) TypeMappedAnnotation.filterAttributes(Predicate<String> predicate) AbstractMergedAnnotation.filterDefaultValues()MergedAnnotation.filterDefaultValues()Create a new view of the annotation with all attributes that have default values removed.private <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.find(Object requiredType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) TypeMappedAnnotations.MergedAnnotationFinder.finish(MergedAnnotation<A> result) static <A extends Annotation>
MergedAnnotation<A>MergedAnnotation.from(A annotation) Create a newMergedAnnotationinstance from the specified annotation.static <A extends Annotation>
MergedAnnotation<A>Create a newMergedAnnotationinstance from the specified annotation.<A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) Get a matching annotation or meta-annotation of the specified type, ormissing()if none is present.<A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) Get a matching annotation or meta-annotation of the specified type, ormissing()if none is present.<A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A><A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <T extends Annotation>
MergedAnnotation<T>MergedAnnotation.getAnnotation(String attributeName, Class<T> type) Get a required annotation attribute value from the annotation.<T extends Annotation>
MergedAnnotation<T>MissingMergedAnnotation.getAnnotation(String attributeName, Class<T> type) <T extends Annotation>
MergedAnnotation<T>TypeMappedAnnotation.getAnnotation(String attributeName, Class<T> type) <T extends Annotation>
MergedAnnotation<T>[]MergedAnnotation.getAnnotationArray(String attributeName, Class<T> type) Get a required annotation array attribute value from the annotation.<T extends Annotation>
MergedAnnotation<T>[]MissingMergedAnnotation.getAnnotationArray(String attributeName, Class<T> type) <T extends Annotation>
MergedAnnotation<T>[]TypeMappedAnnotation.getAnnotationArray(String attributeName, Class<T> type) (专用程序包) static <A extends Annotation>
MergedAnnotation<A>MissingMergedAnnotation.getInstance()default MergedAnnotation<A>AnnotationProvider.getMergedAnnotation(AnnotatedTypeMetadata metadata) MergedAnnotation.getMetaSource()Get the source of the meta-annotation, ornullif the annotation is not meta-present.MissingMergedAnnotation.getMetaSource()TypeMappedAnnotation.getMetaSource()MergedAnnotation.getRoot()Get the root annotation, i.e. thedistance0annotation as directly declared on the source.MissingMergedAnnotation.getRoot()TypeMappedAnnotation.getRoot()static <A extends Annotation>
MergedAnnotation<A>MergedAnnotation.missing()Create aMergedAnnotationthat represents a missing annotation (i.e. one that is not present).(专用程序包) static <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotation.of(ClassLoader classLoader, Object source, Class<A> annotationType, Map<String, ?> attributes) private MergedAnnotation<A>TypeMappedAnnotations.MergedAnnotationFinder.process(Object type, int aggregateIndex, Object source, Annotation annotation) MergedAnnotationSelector.select(MergedAnnotation<A> existing, MergedAnnotation<A> candidate) Select the annotation that should be used.MergedAnnotationSelectors.FirstDirectlyDeclared.select(MergedAnnotation<Annotation> existing, MergedAnnotation<Annotation> candidate) MergedAnnotationSelectors.Nearest.select(MergedAnnotation<Annotation> existing, MergedAnnotation<Annotation> candidate) static <A extends Annotation>
MergedAnnotation<A>Create a newMergedAnnotationinstance of the specified annotation type.static <A extends Annotation>
MergedAnnotation<A>Create a newMergedAnnotationinstance of the specified annotation type with attribute values supplied by a map.static <A extends Annotation>
MergedAnnotation<A>MergedAnnotation.valueOf(ClassLoader classLoader, Object source, Class<A> annotationType, Map<String, ?> attributes) Create a newMergedAnnotationinstance of the specified annotation type with attribute values supplied by a map.static <A extends Annotation>
MergedAnnotation<A>MergedAnnotation.valueOf(AnnotatedElement source, Class<A> annotationType, Map<String, ?> attributes) Create a newMergedAnnotationinstance of the specified annotation type with attribute values supplied by a map.MergedAnnotation.withNonMergedAttributes()Create a new view of the annotation that exposes non-merged attribute values.MissingMergedAnnotation.withNonMergedAttributes()TypeMappedAnnotation.withNonMergedAttributes()返回变量类型为MergedAnnotation的类型的cn.taketoday.core.annotation中的方法修饰符和类型方法说明static <A extends Annotation>
Predicate<MergedAnnotation<A>>MergedAnnotationPredicates.firstRunOf(Function<? super MergedAnnotation<A>, ?> valueExtractor) Create a new stateful, single usePredicatethat matches only the first run of an extracted value.private static <A extends Annotation>
Comparator<MergedAnnotation<A>>AnnotatedElementUtils.highAggregateIndexesFirst()MergedAnnotationsCollection.iterator()TypeMappedAnnotations.iterator()MergedAnnotationsCollection.spliterator()private <A extends Annotation>
Spliterator<MergedAnnotation<A>>MergedAnnotationsCollection.spliterator(Object annotationType) TypeMappedAnnotations.spliterator()private <A extends Annotation>
Spliterator<MergedAnnotation<A>>TypeMappedAnnotations.spliterator(Object annotationType) MergedAnnotations.stream()Stream all annotations and meta-annotations contained in this collection.<A extends Annotation>
Stream<MergedAnnotation<A>>Stream all annotations and meta-annotations that match the specified type.<A extends Annotation>
Stream<MergedAnnotation<A>>Stream all annotations and meta-annotations that match the specified type.MergedAnnotationsCollection.stream()<A extends Annotation>
Stream<MergedAnnotation<A>><A extends Annotation>
Stream<MergedAnnotation<A>>TypeMappedAnnotations.stream()<A extends Annotation>
Stream<MergedAnnotation<A>><A extends Annotation>
Stream<MergedAnnotation<A>>static <A extends Annotation>
Collector<MergedAnnotation<A>,?, Annotation[]> MergedAnnotationCollectors.toAnnotationArray()Create a newCollectorthat accumulates merged annotations to anAnnotationarray containing synthesized versions.static <R extends Annotation,A extends R>
Collector<MergedAnnotation<A>,?, R[]> MergedAnnotationCollectors.toAnnotationArray(IntFunction<R[]> generator) Create a newCollectorthat accumulates merged annotations to anAnnotationarray containing synthesized versions.static <A extends Annotation>
Collector<MergedAnnotation<A>,?, Set<A>> MergedAnnotationCollectors.toAnnotationSet()Create a newCollectorthat accumulates merged annotations to aLinkedHashSetcontaining synthesized versions.static <A extends Annotation>
Collector<MergedAnnotation<A>,?, MultiValueMap<String, Object>> MergedAnnotationCollectors.toMultiValueMap(MergedAnnotation.Adapt... adaptations) Create a newCollectorthat accumulates merged annotations to aMultiValueMapwith items added from each merged annotation as a map.static <A extends Annotation>
Collector<MergedAnnotation<A>,?, MultiValueMap<String, Object>> MergedAnnotationCollectors.toMultiValueMap(UnaryOperator<MultiValueMap<String, Object>> finisher, MergedAnnotation.Adapt... adaptations) Create a newCollectorthat accumulates merged annotations to aMultiValueMapwith items added from each merged annotation as a map.MergedAnnotationsCollection.AnnotationsSpliterator.trySplit()TypeMappedAnnotations.AggregatesSpliterator.trySplit()static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>Create a newPredicatethat evaluates totrueif the merged annotation type is contained in the specified array.static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>Create a newPredicatethat evaluates totrueif the name of the merged annotation type is contained in the specified array.static <A extends Annotation>
Predicate<MergedAnnotation<? extends A>>MergedAnnotationPredicates.typeIn(Collection<?> types) Create a newPredicatethat evaluates totrueif the merged annotation type is contained in the specified collection.static <A extends Annotation,K>
Predicate<MergedAnnotation<A>>MergedAnnotationPredicates.unique(Function<? super MergedAnnotation<A>, K> keyExtractor) Create a new stateful, single usePredicatethat matches annotations that are unique based on the extracted key.修饰符和类型方法说明(专用程序包) static <A extends Annotation>
TypeMappedAnnotation<A>TypeMappedAnnotation.createIfPossible(AnnotationTypeMapping mapping, MergedAnnotation<?> annotation, IntrospectionFailureLogger logger) TypeMappedAnnotations.MergedAnnotationFinder.finish(MergedAnnotation<A> result) private static AnnotationAttributesAnnotatedElementUtils.getAnnotationAttributes(MergedAnnotation<?> annotation, boolean classValuesAsString, boolean nestedAnnotationsAsMap) default booleanMergedAnnotationSelector.isBestCandidate(MergedAnnotation<A> annotation) Determine if the existing annotation is known to be the best candidate and any subsequent selections may be skipped.booleanMergedAnnotationSelectors.FirstDirectlyDeclared.isBestCandidate(MergedAnnotation<Annotation> annotation) booleanMergedAnnotationSelectors.Nearest.isBestCandidate(MergedAnnotation<Annotation> annotation) private static <A extends Annotation>
booleanAnnotationUtils.isSingleLevelPresent(MergedAnnotation<A> mergedAnnotation) MergedAnnotationSelector.select(MergedAnnotation<A> existing, MergedAnnotation<A> candidate) Select the annotation that should be used.MergedAnnotationSelectors.FirstDirectlyDeclared.select(MergedAnnotation<Annotation> existing, MergedAnnotation<Annotation> candidate) MergedAnnotationSelectors.Nearest.select(MergedAnnotation<Annotation> existing, MergedAnnotation<Annotation> candidate) booleanMergedAnnotationPredicates.FirstRunOfPredicate.test(MergedAnnotation<A> annotation) booleanMergedAnnotationPredicates.UniquePredicate.test(MergedAnnotation<A> annotation) private voidTypeMappedAnnotations.MergedAnnotationFinder.updateLastResult(MergedAnnotation<A> candidate) 类型变量类型为MergedAnnotation的cn.taketoday.core.annotation中的方法参数修饰符和类型方法说明TypeMappedAnnotation.adaptValueForMapOptions(Method attribute, Object value, Class<?> mapType, Function<MergedAnnotation<?>, T> factory, MergedAnnotation.Adapt[] adaptations) MergedAnnotation.asMap(Function<MergedAnnotation<?>, T> factory, MergedAnnotation.Adapt... adaptations) Create a newMapinstance of the given type that contains all the annotation attributes.MissingMergedAnnotation.asMap(Function<MergedAnnotation<?>, T> factory, MergedAnnotation.Adapt... adaptations) TypeMappedAnnotation.asMap(Function<MergedAnnotation<?>, T> factory, MergedAnnotation.Adapt... adaptations) private <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.find(Object requiredType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) static <A extends Annotation>
Predicate<MergedAnnotation<A>>MergedAnnotationPredicates.firstRunOf(Function<? super MergedAnnotation<A>, ?> valueExtractor) Create a new stateful, single usePredicatethat matches only the first run of an extracted value.<A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) Get a matching annotation or meta-annotation of the specified type, ormissing()if none is present.<A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) Get a matching annotation or meta-annotation of the specified type, ormissing()if none is present.<A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>MergedAnnotationsCollection.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(Class<A> annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate) <A extends Annotation>
MergedAnnotation<A>TypeMappedAnnotations.get(String annotationType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) AbstractMergedAnnotation.synthesize(Predicate<? super MergedAnnotation<A>> condition) MergedAnnotation.synthesize(Predicate<? super MergedAnnotation<A>> condition) Optionally create a type-safe synthesized version of this annotation based on a condition predicate.booleanMergedAnnotationsCollection.AnnotationsSpliterator.tryAdvance(Consumer<? super MergedAnnotation<A>> action) private booleanTypeMappedAnnotations.AggregatesSpliterator.tryAdvance(TypeMappedAnnotations.Aggregate aggregate, Consumer<? super MergedAnnotation<A>> action) booleanTypeMappedAnnotations.AggregatesSpliterator.tryAdvance(Consumer<? super MergedAnnotation<A>> action) static <A extends Annotation,K>
Predicate<MergedAnnotation<A>>MergedAnnotationPredicates.unique(Function<? super MergedAnnotation<A>, K> keyExtractor) Create a new stateful, single usePredicatethat matches annotations that are unique based on the extracted key.static MergedAnnotationsMergedAnnotations.valueOf(Collection<MergedAnnotation<?>> annotations) Create a newMergedAnnotationsinstance from the specified collection of directly present annotations.(专用程序包) static MergedAnnotationsMergedAnnotationsCollection.valueOf(Collection<MergedAnnotation<?>> annotations) 类型变量类型为MergedAnnotation的cn.taketoday.core.annotation中的构造器参数限定符构造器说明(专用程序包)FirstRunOfPredicate(Function<? super MergedAnnotation<A>, ?> valueExtractor) (专用程序包)MergedAnnotationFinder(Object requiredType, Predicate<? super MergedAnnotation<A>> predicate, MergedAnnotationSelector<A> selector) privateMergedAnnotationsCollection(Collection<MergedAnnotation<?>> annotations) (专用程序包)UniquePredicate(Function<? super MergedAnnotation<A>, K> keyExtractor) -
cn.taketoday.core.type中MergedAnnotation的使用
修饰符和类型方法说明default <A extends Annotation>
MergedAnnotation<A>AnnotatedTypeMetadata.getAnnotation(Class<A> annotationType) default <A extends Annotation>
MergedAnnotation<A>AnnotatedTypeMetadata.getAnnotation(String annotationType) 返回变量类型为MergedAnnotation的类型的cn.taketoday.core.type中的方法修饰符和类型方法说明default <A extends Annotation>
Set<MergedAnnotation<A>>AnnotatedTypeMetadata.getMergedRepeatableAnnotation(Class<A> annotationType, Class<? extends Annotation> containerType) Retrieve all repeatable annotations of the given type within the annotation hierarchy above the underlying element (as direct annotation or meta-annotation); and for each annotation found, merge that annotation's attributes with matching attributes from annotations in lower levels of the annotation hierarchy and store the results in an instance ofMergedAnnotation.default <A extends Annotation>
Set<MergedAnnotation<A>>AnnotatedTypeMetadata.getMergedRepeatableAnnotation(Class<A> annotationType, Class<? extends Annotation> containerType, boolean sortByReversedMetaDistance) Retrieve all repeatable annotations of the given type within the annotation hierarchy above the underlying element (as direct annotation or meta-annotation); and for each annotation found, merge that annotation's attributes with matching attributes from annotations in lower levels of the annotation hierarchy and store the results in an instance ofMergedAnnotation.private static Comparator<MergedAnnotation<Annotation>>AnnotatedTypeMetadata.reversedMetaDistance() -
cn.taketoday.core.type.classreading中MergedAnnotation的使用
修饰符和类型字段说明private ArrayList<MergedAnnotation<?>>SimpleAnnotationMetadataReadingVisitor.annotationsprivate ArrayList<MergedAnnotation<?>>SimpleMethodMetadataReadingVisitor.annotationsprivate final Consumer<MergedAnnotation<A>>MergedAnnotationReadingVisitor.consumer类型变量类型为MergedAnnotation的cn.taketoday.core.type.classreading中的方法参数修饰符和类型方法说明(专用程序包) static <A extends Annotation>
AnnotationVisitorMergedAnnotationReadingVisitor.get(ClassLoader classLoader, Object source, String descriptor, boolean visible, Consumer<MergedAnnotation<A>> consumer) private <T extends Annotation>
AnnotationVisitorMergedAnnotationReadingVisitor.visitAnnotation(String descriptor, Consumer<MergedAnnotation<T>> consumer) 类型变量类型为MergedAnnotation的cn.taketoday.core.type.classreading中的构造器参数限定符构造器说明MergedAnnotationReadingVisitor(ClassLoader classLoader, Object source, Class<A> annotationType, Consumer<MergedAnnotation<A>> consumer)