org.springframework.beans
Class BeanMetadataAttributeAccessor

java.lang.Object
  extended by org.springframework.core.AttributeAccessorSupport
      extended by org.springframework.beans.BeanMetadataAttributeAccessor
All Implemented Interfaces:
Serializable, BeanMetadataElement, AttributeAccessor
Direct Known Subclasses:
AbstractBeanDefinition, AutowireCandidateQualifier, PropertyValue

public class BeanMetadataAttributeAccessor
extends AttributeAccessorSupport
implements BeanMetadataElement

Extension of AttributeAccessorSupport, holding attributes as BeanMetadataAttribute objects in order to keep track of the definition source.

Since:
2.5
Author:
Juergen Hoeller
See Also:
Serialized Form

Constructor Summary
BeanMetadataAttributeAccessor()
           
 
Method Summary
 void addMetadataAttribute(BeanMetadataAttribute attribute)
          Add the given BeanMetadataAttribute to this accessor's set of attributes.
 Object getAttribute(String name)
          Get the value of the attribute identified by name.
 BeanMetadataAttribute getMetadataAttribute(String name)
          Look up the given BeanMetadataAttribute in this accessor's set of attributes.
 Object getSource()
          Return the configuration source Object for this metadata element (may be null).
 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.
 void setSource(Object source)
          Set the configuration source Object for this metadata element.
 
Methods inherited from class org.springframework.core.AttributeAccessorSupport
attributeNames, copyAttributesFrom, equals, hasAttribute, hashCode
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BeanMetadataAttributeAccessor

public BeanMetadataAttributeAccessor()
Method Detail

setSource

public void setSource(Object source)
Set the configuration source Object for this metadata element.

The exact type of the object will depend on the configuration mechanism used.


getSource

public Object getSource()
Description copied from interface: BeanMetadataElement
Return the configuration source Object for this metadata element (may be null).

Specified by:
getSource in interface BeanMetadataElement

addMetadataAttribute

public void addMetadataAttribute(BeanMetadataAttribute attribute)
Add the given BeanMetadataAttribute to this accessor's set of attributes.

Parameters:
attribute - the BeanMetadataAttribute object to register

getMetadataAttribute

public BeanMetadataAttribute getMetadataAttribute(String name)
Look up the given BeanMetadataAttribute in this accessor's set of attributes.

Parameters:
name - the name of the attribute
Returns:
the corresponding BeanMetadataAttribute object, or null if no such attribute defined

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: AttributeAccessor
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.

Specified by:
setAttribute in interface AttributeAccessor
Overrides:
setAttribute in class AttributeAccessorSupport
Parameters:
name - the unique attribute key
value - the attribute value to be attached

getAttribute

public Object getAttribute(String name)
Description copied from interface: AttributeAccessor
Get the value of the attribute identified by name. Return null if the attribute doesn't exist.

Specified by:
getAttribute in interface AttributeAccessor
Overrides:
getAttribute in class AttributeAccessorSupport
Parameters:
name - the unique attribute key
Returns:
the current value of the attribute, if any

removeAttribute

public Object removeAttribute(String name)
Description copied from interface: AttributeAccessor
Remove the attribute identified by name and return its value. Return null if no attribute under name is found.

Specified by:
removeAttribute in interface AttributeAccessor
Overrides:
removeAttribute in class AttributeAccessorSupport
Parameters:
name - the unique attribute key
Returns:
the last value of the attribute, if any