Package org.springframework.core
Interface AttributeAccessor
- All Known Subinterfaces:
- AnnotatedBeanDefinition,- BeanDefinition,- TestContext
- All Known Implementing Classes:
- AbstractBeanDefinition,- AnnotatedGenericBeanDefinition,- AttributeAccessorSupport,- AutowireCandidateQualifier,- BeanMetadataAttributeAccessor,- ChildBeanDefinition,- DefaultTestContext,- GenericBeanDefinition,- PropertyValue,- RootBeanDefinition,- ScannedGenericBeanDefinition
public interface AttributeAccessor
Interface defining a generic contract for attaching and accessing metadata
 to/from arbitrary objects.
- Since:
- 2.0
- Author:
- Rob Harrop, Sam Brannen
- 
Method SummaryModifier and TypeMethodDescriptionString[]Return the names of all attributes.default <T> TcomputeAttribute(String name, Function<String, T> computeFunction) Compute a new value for the attribute identified bynameif necessary and set the new value in thisAttributeAccessor.getAttribute(String name) Get the value of the attribute identified byname.booleanhasAttribute(String name) Returntrueif the attribute identified bynameexists.removeAttribute(String name) Remove the attribute identified bynameand return its value.voidsetAttribute(String name, Object value) Set the attribute defined bynameto the suppliedvalue.
- 
Method Details- 
setAttributeSet the attribute defined bynameto the suppliedvalue.If valueisnull, the attribute isremoved.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
 
- 
getAttributeGet the value of the attribute identified byname.Return nullif the attribute doesn't exist.- Parameters:
- name- the unique attribute key
- Returns:
- the current value of the attribute, if any
 
- 
computeAttributeCompute a new value for the attribute identified bynameif necessary and set the new value in thisAttributeAccessor.If a value for the attribute identified by namealready exists in thisAttributeAccessor, the existing value will be returned without applying the supplied compute function.The default implementation of this method is not thread safe but can be overridden by concrete implementations of this interface. - Type Parameters:
- T- the type of the attribute value
- Parameters:
- name- the unique attribute key
- computeFunction- a function that computes a new value for the attribute name; the function must not return a- nullvalue
- Returns:
- the existing value or newly computed value for the named attribute
- Since:
- 5.3.3
- See Also:
 
- 
removeAttributeRemove the attribute identified bynameand return its value.Return nullif no attribute undernameis found.- Parameters:
- name- the unique attribute key
- Returns:
- the last value of the attribute, if any
 
- 
hasAttributeReturntrueif the attribute identified bynameexists.Otherwise return false.- Parameters:
- name- the unique attribute key
 
- 
attributeNamesString[] attributeNames()Return the names of all attributes.
 
-