类 AnnotationAttributes
- java.lang.Object
- java.util.AbstractMap<K,V>
- java.util.HashMap<K,V>
- java.util.LinkedHashMap<String,Object>
- org.springframework.core.annotation.AnnotationAttributes
- 所有已实现的接口:
Serializable,Cloneable,Map<String,Object>
public class AnnotationAttributes extends LinkedHashMap<String,Object>
LinkedHashMapsubclass representing annotation attribute key-value pairs as read byAnnotationUtils,AnnotatedElementUtils, and Spring's reflection- and ASM-basedAnnotationMetadataimplementations.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.
- 从以下版本开始:
- 3.1.1
- 作者:
- Chris Beams, Sam Brannen, Juergen Hoeller
- 另请参阅:
AnnotationUtils.getAnnotationAttributes(java.lang.annotation.Annotation),AnnotatedElementUtils, 序列化表格
嵌套类概要
从类继承的嵌套类/接口 java.util.AbstractMap
AbstractMap.SimpleEntry<K extends Object,V extends Object>, AbstractMap.SimpleImmutableEntry<K extends Object,V extends Object>
构造器概要
构造器 构造器 说明 AnnotationAttributes()Create a new, emptyAnnotationAttributesinstance.AnnotationAttributes(int initialCapacity)Create a new, emptyAnnotationAttributesinstance with the given initial capacity to optimize performance.AnnotationAttributes(Class<? extends Annotation> annotationType)Create a new, emptyAnnotationAttributesinstance for the specifiedannotationType.AnnotationAttributes(String annotationType, ClassLoader classLoader)Create a new, emptyAnnotationAttributesinstance for the specifiedannotationType.AnnotationAttributes(Map<String,Object> map)Create a newAnnotationAttributesinstance, wrapping the provided map and all its key-value pairs.AnnotationAttributes(AnnotationAttributes other)Create a newAnnotationAttributesinstance, wrapping the provided map and all its key-value pairs.
方法概要
所有方法 静态方法 实例方法 具体方法 已过时的方法 修饰符和类型 方法 说明 Class<? extends Annotation>annotationType()Get the type of annotation represented by thisAnnotationAttributesinstance.static AnnotationAttributesfromMap(Map<String,Object> map)Return anAnnotationAttributesinstance based on the given map.Class<?>[]getAliasedClassArray(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetClassArray(java.lang.String)itselfStringgetAliasedString(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetString(java.lang.String)itselfString[]getAliasedStringArray(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetStringArray(java.lang.String)itselfAnnotationAttributesgetAnnotation(String attributeName)Get theAnnotationAttributesstored under the specifiedattributeName.<A extends Annotation>
AgetAnnotation(String attributeName, Class<A> annotationType)Get the annotation of typeannotationTypestored under the specifiedattributeName.AnnotationAttributes[]getAnnotationArray(String attributeName)Get the array ofAnnotationAttributesstored under the specifiedattributeName.<A extends Annotation>
A[]getAnnotationArray(String attributeName, Class<A> annotationType)Get the array of typeannotationTypestored under the specifiedattributeName.booleangetBoolean(String attributeName)Get the value stored under the specifiedattributeNameas a boolean.<T> Class<? extends T>getClass(String attributeName)Get the value stored under the specifiedattributeNameas a class.Class<?>[]getClassArray(String attributeName)Get the value stored under the specifiedattributeNameas an array of classes.<E extends Enum<?>>
EgetEnum(String attributeName)Get the value stored under the specifiedattributeNameas an enum.<N extends Number>
NgetNumber(String attributeName)Get the value stored under the specifiedattributeNameas a number.StringgetString(String attributeName)Get the value stored under the specifiedattributeNameas a string.String[]getStringArray(String attributeName)Get the value stored under the specifiedattributeNameas an array of strings.ObjectputIfAbsent(String key, Object value)Store the suppliedvaluein this map under the specifiedkey, unless a value is already stored under the key.StringtoString()从类继承的方法 java.util.LinkedHashMap
clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
从类继承的方法 java.util.HashMap
clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, remove, remove, replace, replace, size
从类继承的方法 java.util.AbstractMap
equals, hashCode
构造器详细资料
AnnotationAttributes
public AnnotationAttributes()
Create a new, emptyAnnotationAttributesinstance.
AnnotationAttributes
public AnnotationAttributes(int initialCapacity)
Create a new, emptyAnnotationAttributesinstance with the given initial capacity to optimize performance.- 参数:
initialCapacity- initial size of the underlying map
AnnotationAttributes
public AnnotationAttributes(Class<? extends Annotation> annotationType)
Create a new, emptyAnnotationAttributesinstance for the specifiedannotationType.- 参数:
annotationType- the type of annotation represented by thisAnnotationAttributesinstance; nevernull- 从以下版本开始:
- 4.2
AnnotationAttributes
public AnnotationAttributes(String annotationType, ClassLoader classLoader)
Create a new, emptyAnnotationAttributesinstance for the specifiedannotationType.- 参数:
annotationType- the annotation type name represented by thisAnnotationAttributesinstance; nevernullclassLoader- the ClassLoader to try to load the annotation type on, ornullto just store the annotation type name- 从以下版本开始:
- 4.3.2
AnnotationAttributes
public AnnotationAttributes(Map<String,Object> map)
Create a newAnnotationAttributesinstance, wrapping the provided map and all its key-value pairs.- 参数:
map- original source of annotation attribute key-value pairs- 另请参阅:
fromMap(Map)
AnnotationAttributes
public AnnotationAttributes(AnnotationAttributes other)
Create a newAnnotationAttributesinstance, wrapping the provided map and all its key-value pairs.- 参数:
other- original source of annotation attribute key-value pairs- 另请参阅:
fromMap(Map)
方法详细资料
annotationType
public Class<? extends Annotation> annotationType()
Get the type of annotation represented by thisAnnotationAttributesinstance.- 返回:
- the annotation type, or
nullif unknown - 从以下版本开始:
- 4.2
getString
public String getString(String attributeName)
Get the value stored under the specifiedattributeNameas a string.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getAliasedString
@Deprecated public String getAliasedString(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)
已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetString(java.lang.String)itselfGet the value stored under the specifiedattributeNameas a string, taking into account alias semantics defined via@AliasFor.If there is no value stored under the specified
attributeNamebut the attribute has an alias declared via@AliasFor, the value of the alias will be returned.- 参数:
attributeName- the name of the attribute to get; nevernullor emptyannotationType- the type of annotation represented by thisAnnotationAttributesinstance; nevernullannotationSource- the source of the annotation represented by thisAnnotationAttributes(e.g., theAnnotatedElement); ornullif unknown- 返回:
- the string value
- 抛出:
IllegalArgumentException- if the attribute and its alias do not exist or are not of typeStringAnnotationConfigurationException- if the attribute and its alias are both present with different non-empty values- 从以下版本开始:
- 4.2
getStringArray
public String[] getStringArray(String attributeName)
Get the value stored under the specifiedattributeNameas an array of strings.If the value stored under the specified
attributeNameis a string, it will be wrapped in a single-element array before returning it.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getAliasedStringArray
@Deprecated public String[] getAliasedStringArray(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)
已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetStringArray(java.lang.String)itselfGet the value stored under the specifiedattributeNameas an array of strings, taking into account alias semantics defined via@AliasFor.If there is no value stored under the specified
attributeNamebut the attribute has an alias declared via@AliasFor, the value of the alias will be returned.- 参数:
attributeName- the name of the attribute to get; nevernullor emptyannotationType- the type of annotation represented by thisAnnotationAttributesinstance; nevernullannotationSource- the source of the annotation represented by thisAnnotationAttributes(e.g., theAnnotatedElement); ornullif unknown- 返回:
- the array of strings
- 抛出:
IllegalArgumentException- if the attribute and its alias do not exist or are not of typeString[]AnnotationConfigurationException- if the attribute and its alias are both present with different non-empty values- 从以下版本开始:
- 4.2
getBoolean
public boolean getBoolean(String attributeName)
Get the value stored under the specifiedattributeNameas a boolean.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getNumber
public <N extends Number> N getNumber(String attributeName)
Get the value stored under the specifiedattributeNameas a number.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getEnum
public <E extends Enum<?>> E getEnum(String attributeName)
Get the value stored under the specifiedattributeNameas an enum.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getClass
public <T> Class<? extends T> getClass(String attributeName)
Get the value stored under the specifiedattributeNameas a class.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getClassArray
public Class<?>[] getClassArray(String attributeName)
Get the value stored under the specifiedattributeNameas an array of classes.If the value stored under the specified
attributeNameis a class, it will be wrapped in a single-element array before returning it.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the value
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getAliasedClassArray
@Deprecated public Class<?>[] getAliasedClassArray(String attributeName, Class<? extends Annotation> annotationType, Object annotationSource)
已过时。as of Spring 4.3.2, in favor of built-in alias resolution ingetClassArray(java.lang.String)itselfGet the value stored under the specifiedattributeNameas an array of classes, taking into account alias semantics defined via@AliasFor.If there is no value stored under the specified
attributeNamebut the attribute has an alias declared via@AliasFor, the value of the alias will be returned.- 参数:
attributeName- the name of the attribute to get; nevernullor emptyannotationType- the type of annotation represented by thisAnnotationAttributesinstance; nevernullannotationSource- the source of the annotation represented by thisAnnotationAttributes(e.g., theAnnotatedElement); ornullif unknown- 返回:
- the array of classes
- 抛出:
IllegalArgumentException- if the attribute and its alias do not exist or are not of typeClass[]AnnotationConfigurationException- if the attribute and its alias are both present with different non-empty values- 从以下版本开始:
- 4.2
getAnnotation
public AnnotationAttributes getAnnotation(String attributeName)
Get theAnnotationAttributesstored under the specifiedattributeName.Note: if you expect an actual annotation, invoke
getAnnotation(String, Class)instead.- 参数:
attributeName- the name of the attribute to get; nevernullor empty- 返回:
- the
AnnotationAttributes - 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getAnnotation
public <A extends Annotation> A getAnnotation(String attributeName, Class<A> annotationType)
Get the annotation of typeannotationTypestored under the specifiedattributeName.- 参数:
attributeName- the name of the attribute to get; nevernullor emptyannotationType- the expected annotation type; nevernull- 返回:
- the annotation
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type- 从以下版本开始:
- 4.2
getAnnotationArray
public AnnotationAttributes[] getAnnotationArray(String attributeName)
Get the array ofAnnotationAttributesstored under the specifiedattributeName.If the value stored under the specified
attributeNameis an instance ofAnnotationAttributes, 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; nevernullor empty- 返回:
- the array of
AnnotationAttributes - 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type
getAnnotationArray
public <A extends Annotation> A[] getAnnotationArray(String attributeName, Class<A> annotationType)
Get the array of typeannotationTypestored under the specifiedattributeName.If the value stored under the specified
attributeNameis anAnnotation, it will be wrapped in a single-element array before returning it.- 参数:
attributeName- the name of the attribute to get; nevernullor emptyannotationType- the expected annotation type; nevernull- 返回:
- the annotation array
- 抛出:
IllegalArgumentException- if the attribute does not exist or if it is not of the expected type- 从以下版本开始:
- 4.2
putIfAbsent
public Object putIfAbsent(String key, Object value)
Store the suppliedvaluein this map under the specifiedkey, unless a value is already stored under the key.- 指定者:
putIfAbsent在接口中Map<String,Object>- 覆盖:
putIfAbsent在类中HashMap<String,Object>- 参数:
key- the key under which to store the valuevalue- the value to store- 返回:
- the current value stored in this map, or
nullif no value was previously stored in this map - 从以下版本开始:
- 4.2
- 另请参阅:
LinkedHashMap.get(java.lang.Object),HashMap.put(K, V)
fromMap
public static AnnotationAttributes fromMap(Map<String,Object> map)
Return anAnnotationAttributesinstance based on the given map.If the map is already an
AnnotationAttributesinstance, 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 theAnnotationAttributes(Map)constructor.- 参数:
map- original source of annotation attribute key-value pairs