org.springframework.core.annotation
Class AnnotationAttributes

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,V>
          extended by java.util.LinkedHashMap<String,Object>
              extended by org.springframework.core.annotation.AnnotationAttributes
All Implemented Interfaces:
Serializable, Cloneable, Map<String,Object>

public class AnnotationAttributes
extends LinkedHashMap<String,Object>

LinkedHashMap subclass representing annotation attribute key/value pairs as read by Spring's reflection- or 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.

Since:
3.1.1
Author:
Chris Beams
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
AnnotationAttributes()
          Create a new, empty AnnotationAttributes instance.
AnnotationAttributes(int initialCapacity)
          Create a new, empty AnnotationAttributes instance with the given initial capacity to optimize performance.
AnnotationAttributes(Map<String,Object> map)
          Create a new AnnotationAttributes instance, wrapping the provided map and all its key/value pairs.
 
Method Summary
static AnnotationAttributes fromMap(Map<String,Object> map)
          Return an AnnotationAttributes instance based on the given map; if the map is already an AnnotationAttributes instance, it is casted and returned immediately without creating any new instance; otherwise create a new instance by wrapping the map with the AnnotationAttributes(Map) constructor.
 AnnotationAttributes getAnnotation(String attributeName)
           
 AnnotationAttributes[] getAnnotationArray(String attributeName)
           
 boolean getBoolean(String attributeName)
           
<T> Class<? extends T>
getClass(String attributeName)
           
 Class<?>[] getClassArray(String attributeName)
           
<E extends Enum<?>>
E
getEnum(String attributeName)
           
<N extends Number>
N
getNumber(String attributeName)
           
 String getString(String attributeName)
           
 String[] getStringArray(String attributeName)
           
 
Methods inherited from class java.util.LinkedHashMap
clear, containsValue, get, removeEldestEntry
 
Methods inherited from class java.util.HashMap
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values
 
Methods inherited from class java.util.AbstractMap
equals, hashCode, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.Map
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

AnnotationAttributes

public AnnotationAttributes()
Create a new, empty AnnotationAttributes instance.


AnnotationAttributes

public AnnotationAttributes(int initialCapacity)
Create a new, empty AnnotationAttributes instance with the given initial capacity to optimize performance.

Parameters:
initialCapacity - initial size of the underlying map

AnnotationAttributes

public AnnotationAttributes(Map<String,Object> map)
Create a new AnnotationAttributes instance, wrapping the provided map and all its key/value pairs.

Parameters:
map - original source of annotation attribute key/value pairs to wrap
See Also:
fromMap(Map)
Method Detail

fromMap

public static AnnotationAttributes fromMap(Map<String,Object> map)
Return an AnnotationAttributes instance based on the given map; if the map is already an AnnotationAttributes instance, it is casted and returned immediately without creating any new instance; otherwise create a new instance by wrapping the map with the AnnotationAttributes(Map) constructor.

Parameters:
map - original source of annotation attribute key/value pairs

getString

public String getString(String attributeName)

getStringArray

public String[] getStringArray(String attributeName)

getBoolean

public boolean getBoolean(String attributeName)

getNumber

public <N extends Number> N getNumber(String attributeName)

getEnum

public <E extends Enum<?>> E getEnum(String attributeName)

getClass

public <T> Class<? extends T> getClass(String attributeName)

getClassArray

public Class<?>[] getClassArray(String attributeName)

getAnnotation

public AnnotationAttributes getAnnotation(String attributeName)

getAnnotationArray

public AnnotationAttributes[] getAnnotationArray(String attributeName)