MutablePropertyValues class

Mutable implementation of PropertyValues interface.

This class provides a mutable collection of PropertyValue objects that can be modified after creation. It's the standard implementation used by pod definitions to store and manage property injection configuration.

Key features:

  • Add, remove, and modify property values
  • Merge with other PropertyValues instances
  • Convert to/from various formats
  • Support for property value validation
  • Thread-safe operations when needed
  • Efficient lookup and iteration

Example usage:

final propertyValues = MutablePropertyValues();

// Add properties
propertyValues.add(PropertyValue('host', 'localhost'));
propertyValues.add(PropertyValue('port', 8080));
propertyValues.add(PropertyValue('timeout', 30));

// Modify existing property
propertyValues.addPropertyValue(PropertyValue('port', 9090));

// Remove property
propertyValues.removePropertyValue('timeout');

// Check for property
if (propertyValues.contains('host')) {
  final hostValue = propertyValues.getPropertyValue('host');
}
Inheritance

Constructors

MutablePropertyValues([List<PropertyValue>? propertyValues])
Mutable implementation of PropertyValues interface.
MutablePropertyValues.copy(PropertyValues original)
Create a deep copy of another PropertyValues instance.
MutablePropertyValues.from(PropertyValues pvs)
Create from a PropertyValues instance.
factory
MutablePropertyValues.fromMap(Map<String, Map<String, Object?>> source)
Create from a Map of property names to values.

Properties

first PropertyValue
The first element.
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
isEmpty bool
Whether the collection has no properties.
no setteroverride
isNotEmpty bool
Whether this collection has at least one element.
no setterinherited
iterator Iterator<PropertyValue>
A new Iterator that allows iterating the elements of this Iterable.
no setteroverride
last PropertyValue
The last element.
no setterinherited
length int
The number of elements in this Iterable.
no setteroverride
logger → Log
Logger instance for logging messages.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
single PropertyValue
Checks that this iterable has only one element, and returns that element.
no setterinherited

Methods

add(String propertyName, Object? propertyValue, {String? qualifiedName, String? packageName}) → void
Add a PropertyValue object by name and value.
addPropertyValue(PropertyValue pv) MutablePropertyValues
Add a PropertyValue object, replacing any existing one for the same property.
addPropertyValues(PropertyValues? other) MutablePropertyValues
Add all property values from another PropertyValues object.
addPropertyValuesFromMap(Map<String, Map<String, Object?>> other) MutablePropertyValues
Add all properties from a Map.
any(bool test(PropertyValue element)) bool
Checks whether any element of this iterable satisfies test.
inherited
cast<R>() Iterable<R>
A view of this iterable as an iterable of R instances.
inherited
changesSince(PropertyValues old) PropertyValues
Computes the set of properties that differ compared to another old PropertyValues.
override
clear() → void
Clear all property values.
clearProcessedProperty(String propertyName) → void
Clear the processed properties set.
contains(Object? value) bool
Returns true if a property with the given value exists.
inherited
containsProperty(String propertyName) bool
Returns true if a property with the given propertyName exists.
override
copy() MutablePropertyValues
Create a deep copy of another PropertyValues instance.
elementAt(int index) PropertyValue
Returns the indexth element.
inherited
equalizedProperties() List<Object?>
Mixin-style contract for value-based equality, hashCode, and toString.
every(bool test(PropertyValue element)) bool
Checks whether every element of this iterable satisfies test.
inherited
expand<T>(Iterable<T> toElements(PropertyValue element)) Iterable<T>
Expands each element of this Iterable into zero or more elements.
inherited
firstWhere(bool test(PropertyValue element), {PropertyValue orElse()?}) PropertyValue
The first element that satisfies the given predicate test.
inherited
fold<T>(T initialValue, T combine(T previousValue, PropertyValue element)) → T
Reduces a collection to a single value by iteratively combining each element of the collection with an existing value
inherited
followedBy(Iterable<PropertyValue> other) Iterable<PropertyValue>
Creates the lazy concatenation of this iterable and other.
inherited
forEach(void action(PropertyValue element)) → void
Invokes action on each element of this iterable in iteration order.
inherited
getProcessedProperties() Set<String>
Get the set of processed properties.
getPropertyValue(String propertyName) PropertyValue?
Retrieves a property by its propertyName, or null if not found.
override
getPropertyValueAt(int i) PropertyValue
Get PropertyValue at the given index.
getPropertyValues() List<PropertyValue>
Returns all property values as an unmodifiable list.
override
isConverted() bool
Check if this PropertyValues has been converted.
join([String separator = ""]) String
Converts each element to a String and concatenates the strings.
inherited
lastWhere(bool test(PropertyValue element), {PropertyValue orElse()?}) PropertyValue
The last element that satisfies the given predicate test.
inherited
map<T>(T toElement(PropertyValue e)) Iterable<T>
The current elements of this iterable modified by toElement.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
reduce(PropertyValue combine(PropertyValue value, PropertyValue element)) PropertyValue
Reduces a collection to a single value by iteratively combining elements of the collection using the provided function.
inherited
registerProcessedProperty(String propertyName) → void
Register the specified property as processed.
removePropertyValue(PropertyValue pv) → void
Remove the given PropertyValue, if contained.
removePropertyValueByName(String propertyName) → void
Remove a PropertyValue by name.
setConverted() → void
Mark this PropertyValues as converted.
setProcessedProperties(Set<String> processedProperties) → void
Mark the specified properties as processed.
setPropertyValueAt(PropertyValue pv, int i) MutablePropertyValues
Set a property value at a specific index, replacing any existing one.
singleWhere(bool test(PropertyValue element), {PropertyValue orElse()?}) PropertyValue
The single element that satisfies test.
inherited
skip(int count) Iterable<PropertyValue>
Creates an Iterable that provides all but the first count elements.
inherited
skipWhile(bool test(PropertyValue value)) Iterable<PropertyValue>
Creates an Iterable that skips leading elements while test is satisfied.
inherited
take(int count) Iterable<PropertyValue>
Creates a lazy iterable of the count first elements of this iterable.
inherited
takeWhile(bool test(PropertyValue value)) Iterable<PropertyValue>
Creates a lazy iterable of the leading elements satisfying test.
inherited
toList({bool growable = true}) List<PropertyValue>
Creates a List containing the elements of this Iterable.
inherited
toSet() Set<PropertyValue>
Creates a Set containing the same elements as this iterable.
inherited
toString() String
A string representation of this object.
inherited
toStringOptions() → ToStringOptions
where(bool test(PropertyValue element)) Iterable<PropertyValue>
Creates a new lazy Iterable with all elements that satisfy the predicate test.
inherited
whereType<T>() Iterable<T>
Creates a new lazy Iterable with all elements that have type T.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited