## org.springframework.core
Interface AttributeAccessor

All Known Subinterfaces:
  AnnotatedBeanDefinition, BeanDefinition

All Known Implementing Classes:
  AbstractBeanDefinition, AnnotatedGenericBeanDefinition, AttributeAccessorSupport, AutowireCandidateQualifier, BeanMetadataAttributeAccessor, ChildBeanDefinition, GenericBeanDefinition, PropertyValue, RootBeanDefinition, ScannedGenericBeanDefinition, TestContext

    public interface AttributeAccessor

Interface defining a generic contract for attaching and accessing metadata to/from arbitrary objects.

Since:
  2.0
Author:
  Rob Harrop

Method Summary
`String[]` `attributeNames()` Return the names of all attributes.
`Object` `getAttribute(String name)` Get the value of the attribute identified by `name`.
`boolean` `hasAttribute(String name)` Return `true` if the attribute identified by `name` exists.
`Object` `removeAttribute(String name)` Remove the attribute identified by `name` and return its value.
`void` `setAttribute(String name, Object value)` Set the attribute defined by `name` to the supplied `value`.

Method Detail

### setAttribute

    void setAttribute(String name,
                      Object value)

  Set the attribute defined by `name` to the supplied `value`. If `value` is `null`, the attribute is `removed`.

  In general, users should take care to prevent overlaps with other metadata attributes by using fully-qualified names, perhaps using class or package names as prefix.

  Parameters:
    `name` - the unique attribute key
    `value` - the attribute value to be attached

### getAttribute

    Object getAttribute(String name)

  Get the value of the attribute identified by `name`. Return `null` if the attribute doesn't exist.

  Parameters:
    `name` - the unique attribute key
  Returns:
    the current value of the attribute, if any

### removeAttribute

    Object removeAttribute(String name)

  Remove the attribute identified by `name` and return its value. Return `null` if no attribute under `name` is found.

  Parameters:
    `name` - the unique attribute key
  Returns:
    the last value of the attribute, if any

### hasAttribute

    boolean hasAttribute(String name)

  Return `true` if the attribute identified by `name` exists. Otherwise return `false`.

  Parameters:
    `name` - the unique attribute key

### attributeNames

    String[] attributeNames()

  Return the names of all attributes.