org.springframework.core.annotation

## Class AnnotationAttributes

- java.lang.Object
- - java.util.AbstractMap<K,V>
  - - java.util.HashMap<K,V>
    - - java.util.LinkedHashMap<String,Object>
      - - 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

Constructors
Constructor and Description
`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

Methods
`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)`
`String` `toString()`

### 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`

### 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)

#### toString

    public String toString()

Overrides:
  `toString` in class `AbstractMap<String,Object>`