public class AnnotationAttributes extends LinkedHashMap<String,Object>
LinkedHashMap subclass representing annotation attribute
 key-value pairs as read by AnnotationUtils,
 AnnotatedElementUtils, and Spring's reflection- and ASM-based
 AnnotationMetadata implementations.
 Provides 'pseudo-reification' to avoid noisy Map generics in the calling code as well as convenience methods for looking up annotation attributes in a type-safe fashion.
AnnotationUtils.getAnnotationAttributes(java.lang.annotation.Annotation), 
AnnotatedElementUtils, 
Serialized FormAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>| Constructor and Description | 
|---|
| AnnotationAttributes()Create a new, empty  AnnotationAttributesinstance. | 
| AnnotationAttributes(AnnotationAttributes other)Create a new  AnnotationAttributesinstance, wrapping the provided
 map and all its key-value pairs. | 
| AnnotationAttributes(Class<? extends Annotation> annotationType)Create a new, empty  AnnotationAttributesinstance for the
 specifiedannotationType. | 
| AnnotationAttributes(int initialCapacity)Create a new, empty  AnnotationAttributesinstance with the
 given initial capacity to optimize performance. | 
| AnnotationAttributes(Map<String,Object> map)Create a new  AnnotationAttributesinstance, wrapping the provided
 map and all its key-value pairs. | 
| AnnotationAttributes(String annotationType,
                    ClassLoader classLoader)Create a new, empty  AnnotationAttributesinstance for the
 specifiedannotationType. | 
| Modifier and Type | Method and Description | 
|---|---|
| Class<? extends Annotation> | annotationType()Get the type of annotation represented by this  AnnotationAttributes. | 
| static AnnotationAttributes | fromMap(Map<String,Object> map)Return an  AnnotationAttributesinstance based on the given map. | 
| AnnotationAttributes | getAnnotation(String attributeName)Get the  AnnotationAttributesstored under the specifiedattributeName. | 
| <A extends Annotation> | getAnnotation(String attributeName,
             Class<A> annotationType)Get the annotation of type  annotationTypestored under the
 specifiedattributeName. | 
| AnnotationAttributes[] | getAnnotationArray(String attributeName)Get the array of  AnnotationAttributesstored under the specifiedattributeName. | 
| <A extends Annotation> | getAnnotationArray(String attributeName,
                  Class<A> annotationType)Get the array of type  annotationTypestored under the specifiedattributeName. | 
| boolean | getBoolean(String attributeName)Get the value stored under the specified  attributeNameas a boolean. | 
| <T> Class<? extends T> | getClass(String attributeName)Get the value stored under the specified  attributeNameas a class. | 
| Class<?>[] | getClassArray(String attributeName)Get the value stored under the specified  attributeNameas an
 array of classes. | 
| <E extends Enum<?>> | getEnum(String attributeName)Get the value stored under the specified  attributeNameas an enum. | 
| <N extends Number> | getNumber(String attributeName)Get the value stored under the specified  attributeNameas a number. | 
| String | getString(String attributeName)Get the value stored under the specified  attributeNameas a string. | 
| String[] | getStringArray(String attributeName)Get the value stored under the specified  attributeNameas an
 array of strings. | 
| String | toString() | 
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, valuesclone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, sizeequals, hashCodefinalize, getClass, notify, notifyAll, wait, wait, waitcompute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, sizepublic AnnotationAttributes()
AnnotationAttributes instance.public AnnotationAttributes(int initialCapacity)
AnnotationAttributes instance with the
 given initial capacity to optimize performance.initialCapacity - initial size of the underlying mappublic AnnotationAttributes(Map<String,Object> map)
AnnotationAttributes instance, wrapping the provided
 map and all its key-value pairs.map - original source of annotation attribute key-value pairsfromMap(Map)public AnnotationAttributes(AnnotationAttributes other)
AnnotationAttributes instance, wrapping the provided
 map and all its key-value pairs.other - original source of annotation attribute key-value pairsfromMap(Map)public AnnotationAttributes(Class<? extends Annotation> annotationType)
AnnotationAttributes instance for the
 specified annotationType.annotationType - the type of annotation represented by this
 AnnotationAttributes instance; never nullpublic AnnotationAttributes(String annotationType, @Nullable ClassLoader classLoader)
AnnotationAttributes instance for the
 specified annotationType.annotationType - the annotation type name represented by this
 AnnotationAttributes instance; never nullclassLoader - the ClassLoader to try to load the annotation type on,
 or null to just store the annotation type name@Nullable public Class<? extends Annotation> annotationType()
AnnotationAttributes.null if unknownpublic String getString(String attributeName)
attributeName as a string.attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic String[] getStringArray(String attributeName)
attributeName as an
 array of strings.
 If the value stored under the specified attributeName is
 a string, it will be wrapped in a single-element array before
 returning it.
attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic boolean getBoolean(String attributeName)
attributeName as a boolean.attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic <N extends Number> N getNumber(String attributeName)
attributeName as a number.attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic <E extends Enum<?>> E getEnum(String attributeName)
attributeName as an enum.attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic <T> Class<? extends T> getClass(String attributeName)
attributeName as a class.attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic Class<?>[] getClassArray(String attributeName)
attributeName as an
 array of classes.
 If the value stored under the specified attributeName is a class,
 it will be wrapped in a single-element array before returning it.
attributeName - the name of the attribute to get;
 never null or emptyIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic AnnotationAttributes getAnnotation(String attributeName)
AnnotationAttributes stored under the specified
 attributeName.
 Note: if you expect an actual annotation, invoke
 getAnnotation(String, Class) instead.
attributeName - the name of the attribute to get;
 never null or emptyAnnotationAttributesIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic <A extends Annotation> A getAnnotation(String attributeName, Class<A> annotationType)
annotationType stored under the
 specified attributeName.attributeName - the name of the attribute to get;
 never null or emptyannotationType - the expected annotation type; never nullIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic AnnotationAttributes[] getAnnotationArray(String attributeName)
AnnotationAttributes stored under the specified
 attributeName.
 If the value stored under the specified attributeName is
 an instance of AnnotationAttributes, it will be wrapped in
 a single-element array before returning it.
 
Note: if you expect an actual array of annotations, invoke
 getAnnotationArray(String, Class) instead.
attributeName - the name of the attribute to get;
 never null or emptyAnnotationAttributesIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic <A extends Annotation> A[] getAnnotationArray(String attributeName, Class<A> annotationType)
annotationType stored under the specified
 attributeName.
 If the value stored under the specified attributeName is
 an Annotation, it will be wrapped in a single-element array
 before returning it.
attributeName - the name of the attribute to get;
 never null or emptyannotationType - the expected annotation type; never nullIllegalArgumentException - if the attribute does not exist or
 if it is not of the expected typepublic String toString()
toString in class AbstractMap<String,Object>@Nullable public static AnnotationAttributes fromMap(@Nullable Map<String,Object> map)
AnnotationAttributes instance based on the given map.
 If the map is already an AnnotationAttributes instance, it
 will be cast and returned immediately without creating a new instance.
 Otherwise a new instance will be created by passing the supplied map
 to the AnnotationAttributes(Map) constructor.
map - original source of annotation attribute key-value pairs