Package org.springframework.core.type
Interface AnnotationMetadata
- All Superinterfaces:
AnnotatedTypeMetadata
,ClassMetadata
- All Known Implementing Classes:
AnnotationMetadataReadingVisitor
,StandardAnnotationMetadata
public interface AnnotationMetadata extends ClassMetadata, AnnotatedTypeMetadata
Interface that defines abstract access to the annotations of a specific class, in a form that does not require that class to be loaded yet.- Since:
- 2.5
- Author:
- Juergen Hoeller, Mark Fisher, Phillip Webb, Sam Brannen
- See Also:
StandardAnnotationMetadata
,MetadataReader.getAnnotationMetadata()
,AnnotatedTypeMetadata
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Set<MethodMetadata>
getAnnotatedMethods(String annotationName)
Retrieve the method metadata for all methods that are annotated (or meta-annotated) with the given annotation type.Set<String>
getAnnotationTypes()
Get the fully qualified class names of all annotation types that are present on the underlying class.Set<String>
getMetaAnnotationTypes(String annotationName)
Get the fully qualified class names of all meta-annotation types that are present on the given annotation type on the underlying class.boolean
hasAnnotatedMethods(String annotationName)
Determine whether the underlying class has any methods that are annotated (or meta-annotated) with the given annotation type.boolean
hasAnnotation(String annotationName)
Determine whether an annotation of the given type is present on the underlying class.boolean
hasMetaAnnotation(String metaAnnotationName)
Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.Methods inherited from interface org.springframework.core.type.AnnotatedTypeMetadata
getAllAnnotationAttributes, getAllAnnotationAttributes, getAnnotationAttributes, getAnnotationAttributes, isAnnotated
Methods inherited from interface org.springframework.core.type.ClassMetadata
getClassName, getEnclosingClassName, getInterfaceNames, getMemberClassNames, getSuperClassName, hasEnclosingClass, hasSuperClass, isAbstract, isAnnotation, isConcrete, isFinal, isIndependent, isInterface
Method Detail
getAnnotationTypes
Set<String> getAnnotationTypes()
Get the fully qualified class names of all annotation types that are present on the underlying class.- Returns:
- the annotation type names
getMetaAnnotationTypes
Set<String> getMetaAnnotationTypes(String annotationName)
Get the fully qualified class names of all meta-annotation types that are present on the given annotation type on the underlying class.- Parameters:
annotationName
- the fully qualified class name of the meta-annotation type to look for- Returns:
- the meta-annotation type names
hasAnnotation
boolean hasAnnotation(String annotationName)
Determine whether an annotation of the given type is present on the underlying class.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for- Returns:
true
if a matching annotation is present
hasMetaAnnotation
boolean hasMetaAnnotation(String metaAnnotationName)
Determine whether the underlying class has an annotation that is itself annotated with the meta-annotation of the given type.- Parameters:
metaAnnotationName
- the fully qualified class name of the meta-annotation type to look for- Returns:
true
if a matching meta-annotation is present
hasAnnotatedMethods
boolean hasAnnotatedMethods(String annotationName)
Determine whether the underlying class has any methods that are annotated (or meta-annotated) with the given annotation type.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for
getAnnotatedMethods
Set<MethodMetadata> getAnnotatedMethods(String annotationName)
Retrieve the method metadata for all methods that are annotated (or meta-annotated) with the given annotation type.For any returned method,
AnnotatedTypeMetadata.isAnnotated(java.lang.String)
will returntrue
for the given annotation type.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for- Returns:
- a set of
MethodMetadata
for methods that have a matching annotation. The return value will be an empty set if no methods match the annotation type.