Package org.springframework.core.type
Interface AnnotatedTypeMetadata
- All Known Subinterfaces:
AnnotationMetadata
,MethodMetadata
- All Known Implementing Classes:
AnnotationMetadataReadingVisitor
,MethodMetadataReadingVisitor
,StandardAnnotationMetadata
,StandardMethodMetadata
public interface AnnotatedTypeMetadata
Defines access to the annotations of a specific type (class
ormethod
), in a form that does not necessarily require the class-loading.- Since:
- 4.0
- Author:
- Juergen Hoeller, Mark Fisher, Mark Pollack, Chris Beams, Phillip Webb, Sam Brannen
- See Also:
AnnotationMetadata
,MethodMetadata
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default MultiValueMap<String,Object>
getAllAnnotationAttributes(String annotationName)
Retrieve all attributes of all annotations of the given type, if any (i.e.default MultiValueMap<String,Object>
getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)
Retrieve all attributes of all annotations of the given type, if any (i.e.default Map<String,Object>
getAnnotationAttributes(String annotationName)
Retrieve the attributes of the annotation of the given type, if any (i.e.default Map<String,Object>
getAnnotationAttributes(String annotationName, boolean classValuesAsString)
Retrieve the attributes of the annotation of the given type, if any (i.e.MergedAnnotations
getAnnotations()
Return annotation details based on the direct annotations of the underlying element.default boolean
isAnnotated(String annotationName)
Determine whether the underlying element has an annotation or meta-annotation of the given type defined.
Method Detail
getAnnotations
MergedAnnotations getAnnotations()
Return annotation details based on the direct annotations of the underlying element.- Returns:
- merged annotations based on the direct annotations
- Since:
- 5.2
isAnnotated
default boolean isAnnotated(String annotationName)
Determine whether the underlying element has an annotation or meta-annotation of the given type defined.If this method returns
true
, thengetAnnotationAttributes(java.lang.String)
will return a non-null Map.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for- Returns:
- whether a matching annotation is defined
getAnnotationAttributes
@Nullable default Map<String,Object> getAnnotationAttributes(String annotationName)
Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation), also taking attribute overrides on composed annotations into account.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for- Returns:
- a Map of attributes, with the attribute name as key (e.g. "value") and the defined attribute value as Map value. This return value will be
null
if no matching annotation is defined.
getAnnotationAttributes
@Nullable default Map<String,Object> getAnnotationAttributes(String annotationName, boolean classValuesAsString)
Retrieve the attributes of the annotation of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation), also taking attribute overrides on composed annotations into account.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look forclassValuesAsString
- whether to convert class references to String class names for exposure as values in the returned Map, instead of Class references which might potentially have to be loaded first- Returns:
- a Map of attributes, with the attribute name as key (e.g. "value") and the defined attribute value as Map value. This return value will be
null
if no matching annotation is defined.
getAllAnnotationAttributes
@Nullable default MultiValueMap<String,Object> getAllAnnotationAttributes(String annotationName)
Retrieve all attributes of all annotations of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation). Note that this variant does not take attribute overrides into account.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look for- Returns:
- a MultiMap of attributes, with the attribute name as key (e.g. "value") and a list of the defined attribute values as Map value. This return value will be
null
if no matching annotation is defined. - See Also:
getAllAnnotationAttributes(String, boolean)
getAllAnnotationAttributes
@Nullable default MultiValueMap<String,Object> getAllAnnotationAttributes(String annotationName, boolean classValuesAsString)
Retrieve all attributes of all annotations of the given type, if any (i.e. if defined on the underlying element, as direct annotation or meta-annotation). Note that this variant does not take attribute overrides into account.- Parameters:
annotationName
- the fully qualified class name of the annotation type to look forclassValuesAsString
- whether to convert class references to String- Returns:
- a MultiMap of attributes, with the attribute name as key (e.g. "value") and a list of the defined attribute values as Map value. This return value will be
null
if no matching annotation is defined. - See Also:
getAllAnnotationAttributes(String)