public class BeanMetadataAttributeAccessor extends AttributeAccessorSupport implements BeanMetadataElement
AttributeAccessorSupport
,
holding attributes as BeanMetadataAttribute
objects in order
to keep track of the definition source.Constructor and Description |
---|
BeanMetadataAttributeAccessor() |
Modifier and Type | Method and Description |
---|---|
void |
addMetadataAttribute(BeanMetadataAttribute attribute)
Add the given BeanMetadataAttribute to this accessor's set of attributes.
|
java.lang.Object |
getAttribute(java.lang.String name)
Get the value of the attribute identified by
name . |
BeanMetadataAttribute |
getMetadataAttribute(java.lang.String name)
Look up the given BeanMetadataAttribute in this accessor's set of attributes.
|
java.lang.Object |
getSource()
Return the configuration source
Object for this metadata element
(may be null ). |
java.lang.Object |
removeAttribute(java.lang.String name)
Remove the attribute identified by
name and return its value. |
void |
setAttribute(java.lang.String name,
java.lang.Object value)
Set the attribute defined by
name to the supplied value . |
void |
setSource(java.lang.Object source)
Set the configuration source
Object for this metadata element. |
attributeNames, copyAttributesFrom, equals, hasAttribute, hashCode
public void setSource(@Nullable java.lang.Object source)
Object
for this metadata element.
The exact type of the object will depend on the configuration mechanism used.
@Nullable public java.lang.Object getSource()
BeanMetadataElement
Object
for this metadata element
(may be null
).getSource
in interface BeanMetadataElement
public void addMetadataAttribute(BeanMetadataAttribute attribute)
attribute
- the BeanMetadataAttribute object to register@Nullable public BeanMetadataAttribute getMetadataAttribute(java.lang.String name)
name
- the name of the attributenull
if no such attribute definedpublic void setAttribute(java.lang.String name, @Nullable java.lang.Object value)
AttributeAccessor
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.
setAttribute
in interface AttributeAccessor
setAttribute
in class AttributeAccessorSupport
name
- the unique attribute keyvalue
- the attribute value to be attached@Nullable public java.lang.Object getAttribute(java.lang.String name)
AttributeAccessor
name
.
Return null
if the attribute doesn't exist.getAttribute
in interface AttributeAccessor
getAttribute
in class AttributeAccessorSupport
name
- the unique attribute key@Nullable public java.lang.Object removeAttribute(java.lang.String name)
AttributeAccessor
name
and return its value.
Return null
if no attribute under name
is found.removeAttribute
in interface AttributeAccessor
removeAttribute
in class AttributeAccessorSupport
name
- the unique attribute key