Package org.springframework.core
Class AttributeAccessorSupport
java.lang.Object
org.springframework.core.AttributeAccessorSupport
- All Implemented Interfaces:
Serializable,AttributeAccessor
- Direct Known Subclasses:
BeanMetadataAttributeAccessor
public abstract class AttributeAccessorSupport
extends Object
implements AttributeAccessor, Serializable
Support class for
AttributeAccessors, providing
a base implementation of all methods. To be extended by subclasses.
Serializable if subclasses and all attribute values are Serializable.
- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller, Sam Brannen
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionString[]Return the names of all attributes.<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.protected voidcopyAttributesFrom(AttributeAccessor source) Copy the attributes from the supplied AttributeAccessor to this accessor.booleangetAttribute(String name) Get the value of the attribute identified byname.booleanhasAttribute(String name) Returntrueif the attribute identified bynameexists.inthashCode()removeAttribute(String name) Remove the attribute identified bynameand return its value.voidsetAttribute(String name, Object value) Set the attribute defined bynameto the suppliedvalue.
-
Constructor Details
-
AttributeAccessorSupport
public AttributeAccessorSupport()
-
-
Method Details
-
setAttribute
Description copied from interface:AttributeAccessorSet 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.
- Specified by:
setAttributein interfaceAttributeAccessor- Parameters:
name- the unique attribute keyvalue- the attribute value to be attached
-
getAttribute
Description copied from interface:AttributeAccessorGet the value of the attribute identified byname.Return
nullif the attribute doesn't exist.- Specified by:
getAttributein interfaceAttributeAccessor- Parameters:
name- the unique attribute key- Returns:
- the current value of the attribute, if any
-
computeAttribute
Description copied from interface:AttributeAccessorCompute 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 overridden by concrete implementations of this interface.
- Specified by:
computeAttributein interfaceAttributeAccessor- Type Parameters:
T- the type of the attribute value- Parameters:
name- the unique attribute keycomputeFunction- a function that computes a new value for the attribute name; the function must not return anullvalue- Returns:
- the existing value or newly computed value for the named attribute
- See Also:
-
removeAttribute
Description copied from interface:AttributeAccessorRemove the attribute identified bynameand return its value.Return
nullif no attribute undernameis found.- Specified by:
removeAttributein interfaceAttributeAccessor- Parameters:
name- the unique attribute key- Returns:
- the last value of the attribute, if any
-
hasAttribute
Description copied from interface:AttributeAccessorReturntrueif the attribute identified bynameexists.Otherwise return
false.- Specified by:
hasAttributein interfaceAttributeAccessor- Parameters:
name- the unique attribute key
-
attributeNames
Description copied from interface:AttributeAccessorReturn the names of all attributes.- Specified by:
attributeNamesin interfaceAttributeAccessor
-
copyAttributesFrom
Copy the attributes from the supplied AttributeAccessor to this accessor.- Parameters:
source- the AttributeAccessor to copy from
-
equals
-
hashCode
public int hashCode()
-