diff --git a/spring-core/src/main/java/org/springframework/core/annotation/AnnotatedElementUtils.java b/spring-core/src/main/java/org/springframework/core/annotation/AnnotatedElementUtils.java
index 7fc37015d6b..7844bfc2670 100644
--- a/spring-core/src/main/java/org/springframework/core/annotation/AnnotatedElementUtils.java
+++ b/spring-core/src/main/java/org/springframework/core/annotation/AnnotatedElementUtils.java
@@ -41,16 +41,46 @@ import org.springframework.util.MultiValueMap;
public class AnnotatedElementUtils {
/**
+ * Get the fully qualified class names of all meta-annotation types
+ * present on the annotation (of the specified
+ * {@code annotationType}) on the supplied {@link AnnotatedElement}.
+ *
+ *
This method also finds all meta-annotations in the annotation
+ * hierarchy above the specified annotation.
+ *
+ * @param element the annotated element; never {@code null}
+ * @param annotationType the annotation type on which to find
+ * meta-annotations; never {@code null}
+ * @return the names of all meta-annotations present on the annotation,
+ * or {@code null} if not found
+ */
+ public static Set getMetaAnnotationTypes(AnnotatedElement element,
+ Class extends Annotation> annotationType) {
+ Assert.notNull(annotationType, "annotationType must not be null");
+ return getMetaAnnotationTypes(element, annotationType.getName());
+ }
+
+ /**
+ * Get the fully qualified class names of all meta-annotation types
+ * present on the annotation (of the specified
+ * {@code annotationType}) on the supplied {@link AnnotatedElement}.
+ *
+ *
This method also finds all meta-annotations in the annotation
+ * hierarchy above the specified annotation.
+ *
* @param element the annotated element; never {@code null}
* @param annotationType the fully qualified class name of the annotation
- * type to find; never {@code null} or empty
+ * type on which to find meta-annotations; never {@code null} or empty
+ * @return the names of all meta-annotations present on the annotation,
+ * or {@code null} if not found
*/
public static Set getMetaAnnotationTypes(AnnotatedElement element, String annotationType) {
Assert.notNull(element, "AnnotatedElement must not be null");
Assert.hasText(annotationType, "annotationType must not be null or empty");
final Set types = new LinkedHashSet();
- processWithGetSemantics(element, annotationType, new Processor