public class MutablePropertyValues extends java.lang.Object implements PropertyValues, java.io.Serializable
PropertyValues
interface.
Allows simple manipulation of properties, and provides constructors
to support deep copy and construction from a Map.Modifier and Type | Field and Description |
---|---|
private boolean |
converted |
private java.util.Set<java.lang.String> |
processedProperties |
private java.util.List<PropertyValue> |
propertyValueList |
Constructor and Description |
---|
MutablePropertyValues()
Creates a new empty MutablePropertyValues object.
|
MutablePropertyValues(java.util.List<PropertyValue> propertyValueList)
Construct a new MutablePropertyValues object using the given List of
PropertyValue objects as-is.
|
MutablePropertyValues(java.util.Map<?,?> original)
Construct a new MutablePropertyValues object from a Map.
|
MutablePropertyValues(PropertyValues original)
Deep copy constructor.
|
Modifier and Type | Method and Description |
---|---|
MutablePropertyValues |
add(java.lang.String propertyName,
java.lang.Object propertyValue)
Add a PropertyValue object, replacing any existing one for the
corresponding property or getting merged with it (if applicable).
|
MutablePropertyValues |
addPropertyValue(PropertyValue pv)
Add a PropertyValue object, replacing any existing one for the
corresponding property or getting merged with it (if applicable).
|
void |
addPropertyValue(java.lang.String propertyName,
java.lang.Object propertyValue)
Overloaded version of
addPropertyValue that takes
a property name and a property value. |
MutablePropertyValues |
addPropertyValues(java.util.Map<?,?> other)
Add all property values from the given Map.
|
MutablePropertyValues |
addPropertyValues(PropertyValues other)
Copy all given PropertyValues into this object.
|
PropertyValues |
changesSince(PropertyValues old)
Return the changes since the previous PropertyValues.
|
void |
clearProcessedProperty(java.lang.String propertyName)
Clear the "processed" registration of the given property, if any.
|
boolean |
contains(java.lang.String propertyName)
Is there a property value (or other processing entry) for this property?
|
boolean |
equals(java.lang.Object other) |
java.lang.Object |
get(java.lang.String propertyName)
Get the raw property value, if any.
|
PropertyValue |
getPropertyValue(java.lang.String propertyName)
Return the property value with the given name, if any.
|
java.util.List<PropertyValue> |
getPropertyValueList()
Return the underlying List of PropertyValue objects in its raw form.
|
PropertyValue[] |
getPropertyValues()
Return an array of the PropertyValue objects held in this object.
|
int |
hashCode() |
boolean |
isConverted()
Return whether this holder contains converted values only (
true ),
or whether the values still need to be converted (false ). |
boolean |
isEmpty()
Does this holder not contain any PropertyValue objects at all?
|
private PropertyValue |
mergeIfRequired(PropertyValue newPv,
PropertyValue currentPv)
Merges the value of the supplied 'new'
PropertyValue with that of
the current PropertyValue if merging is supported and enabled. |
void |
registerProcessedProperty(java.lang.String propertyName)
Register the specified property as "processed" in the sense
of some processor calling the corresponding setter method
outside of the PropertyValue(s) mechanism.
|
void |
removePropertyValue(PropertyValue pv)
Remove the given PropertyValue, if contained.
|
void |
removePropertyValue(java.lang.String propertyName)
Overloaded version of
removePropertyValue that takes a property name. |
void |
setConverted()
Mark this holder as containing converted values only
(i.e.
|
void |
setPropertyValueAt(PropertyValue pv,
int i)
Modify a PropertyValue object held in this object.
|
int |
size()
Return the number of PropertyValue entries in the list.
|
java.lang.String |
toString() |
private final java.util.List<PropertyValue> propertyValueList
private java.util.Set<java.lang.String> processedProperties
private volatile boolean converted
public MutablePropertyValues()
Property values can be added with the add
method.
add(String, Object)
public MutablePropertyValues(@Nullable PropertyValues original)
original
- the PropertyValues to copyaddPropertyValues(PropertyValues)
public MutablePropertyValues(@Nullable java.util.Map<?,?> original)
original
- Map with property values keyed by property name StringsaddPropertyValues(Map)
public MutablePropertyValues(@Nullable java.util.List<PropertyValue> propertyValueList)
This is a constructor for advanced usage scenarios. It is not intended for typical programmatic use.
propertyValueList
- List of PropertyValue objectspublic java.util.List<PropertyValue> getPropertyValueList()
This is an accessor for optimized access to all PropertyValue objects. It is not intended for typical programmatic use.
public int size()
public MutablePropertyValues addPropertyValues(@Nullable PropertyValues other)
other
- the PropertyValues to copypublic MutablePropertyValues addPropertyValues(@Nullable java.util.Map<?,?> other)
other
- Map with property values keyed by property name,
which must be a Stringpublic MutablePropertyValues addPropertyValue(PropertyValue pv)
pv
- PropertyValue object to addpublic void addPropertyValue(java.lang.String propertyName, java.lang.Object propertyValue)
addPropertyValue
that takes
a property name and a property value.
Note: As of Spring 3.0, we recommend using the more concise
and chaining-capable variant add(java.lang.String, java.lang.Object)
.
propertyName
- name of the propertypropertyValue
- value of the propertyaddPropertyValue(PropertyValue)
public MutablePropertyValues add(java.lang.String propertyName, @Nullable java.lang.Object propertyValue)
propertyName
- name of the propertypropertyValue
- value of the propertypublic void setPropertyValueAt(PropertyValue pv, int i)
private PropertyValue mergeIfRequired(PropertyValue newPv, PropertyValue currentPv)
PropertyValue
with that of
the current PropertyValue
if merging is supported and enabled.Mergeable
public void removePropertyValue(PropertyValue pv)
pv
- the PropertyValue to removepublic void removePropertyValue(java.lang.String propertyName)
removePropertyValue
that takes a property name.propertyName
- name of the propertyremovePropertyValue(PropertyValue)
public PropertyValue[] getPropertyValues()
PropertyValues
getPropertyValues
in interface PropertyValues
public PropertyValue getPropertyValue(java.lang.String propertyName)
PropertyValues
getPropertyValue
in interface PropertyValues
propertyName
- the name to search fornull
if none@Nullable public java.lang.Object get(java.lang.String propertyName)
propertyName
- the name to search fornull
if none foundgetPropertyValue(String)
,
PropertyValue.getValue()
public PropertyValues changesSince(PropertyValues old)
PropertyValues
equals
.changesSince
in interface PropertyValues
old
- old property valuesObject.equals(java.lang.Object)
public boolean contains(java.lang.String propertyName)
PropertyValues
contains
in interface PropertyValues
propertyName
- the name of the property we're interested inpublic boolean isEmpty()
PropertyValues
isEmpty
in interface PropertyValues
public void registerProcessedProperty(java.lang.String propertyName)
This will lead to true
being returned from
a contains(java.lang.String)
call for the specified property.
propertyName
- the name of the property.public void clearProcessedProperty(java.lang.String propertyName)
public void setConverted()
public boolean isConverted()
true
),
or whether the values still need to be converted (false
).public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object