MutablePropertySources class
A mutable container for managing an ordered list of PropertySource objects.
This class allows adding, removing, and retrieving property sources dynamically by name or position. It maintains the search order for property resolution, where the first source added has the highest precedence during lookups.
This container is typically passed to a PropertySourcesPropertyResolver to resolve environment or configuration properties.
Example usage:
final sources = MutablePropertySources();
final defaults = MapPropertySource('defaults', {'debug': 'false'});
final env = MapPropertySource('env', {'debug': 'true'});
sources.addLast(defaults);
sources.addFirst(env); // env now has higher precedence
final value = sources.get('env')?.getProperty('debug'); // 'true'
sources.remove('defaults');
Ordering Methods
You can control precedence using:
This is particularly useful for layered configuration such as: command-line args > environment variables > default config.
- Inheritance
-
- Object
- Iterable<
PropertySource> - PropertySources
- MutablePropertySources
Constructors
- MutablePropertySources()
- A mutable container for managing an ordered list of PropertySource objects.
- MutablePropertySources.from(PropertySources propertySources)
- Creates a new instance from an existing PropertySources collection.
Properties
- first → PropertySource
-
The first element.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isEmpty → bool
-
Whether this collection has no elements.
no setterinherited
- isNotEmpty → bool
-
Whether this collection has at least one element.
no setterinherited
-
iterator
→ Iterator<
PropertySource> -
A new
Iterator
that allows iterating the elements of thisIterable
.no setteroverride - last → PropertySource
-
The last element.
no setterinherited
- length → int
-
Returns the length of the items in this source
no setteroverride
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- single → PropertySource
-
Checks that this iterable has only one element, and returns that element.
no setterinherited
Methods
-
addAfter(
String relativeSourceName, PropertySource newSource) → void -
Inserts
newSource
after the namedrelativeSourceName
in the list. -
addAll(
List< PropertySource> sources) → void -
Adds all given
sources
to the list in their original order. -
addBefore(
String relativeSourceName, PropertySource newSource) → void -
Inserts
newSource
before the namedrelativeSourceName
in the list. -
addFirst(
PropertySource source) → void - Adds a PropertySource to the beginning of the list.
-
addLast(
PropertySource source) → void - Adds a PropertySource to the end of the list.
-
any(
bool test(PropertySource 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 -
contains(
Object? element) → bool -
Whether the collection contains an element equal to
element
.override -
containsName(
String name) → bool -
Returns
true
if this property sources contains a source with the givenname
. -
elementAt(
int index) → PropertySource -
Returns the
index
th element.inherited -
every(
bool test(PropertySource element)) → bool -
Checks whether every element of this iterable satisfies
test
.inherited -
expand<
T> (Iterable< T> toElements(PropertySource element)) → Iterable<T> -
Expands each element of this Iterable into zero or more elements.
inherited
-
firstWhere(
bool test(PropertySource element), {PropertySource orElse()?}) → PropertySource -
The first element that satisfies the given predicate
test
.inherited -
fold<
T> (T initialValue, T combine(T previousValue, PropertySource element)) → T -
Reduces a collection to a single value by iteratively combining each
element of the collection with an existing value
inherited
-
followedBy(
Iterable< PropertySource> other) → Iterable<PropertySource> -
Creates the lazy concatenation of this iterable and
other
.inherited -
forEach(
void action(PropertySource element)) → void -
Invokes
action
on each element of this iterable in iteration order.inherited -
get(
String name) → PropertySource? -
Returns the PropertySource with the given name, or
null
if not found.override -
join(
[String separator = ""]) → String -
Converts each element to a String and concatenates the strings.
inherited
-
lastWhere(
bool test(PropertySource element), {PropertySource orElse()?}) → PropertySource -
The last element that satisfies the given predicate
test
.inherited -
map<
T> (T toElement(PropertySource 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
-
precedenceOf(
PropertySource propertySource) → int -
Returns the index position of the given
propertySource
in the list, or-1
if it is not present. -
reduce(
PropertySource combine(PropertySource value, PropertySource element)) → PropertySource -
Reduces a collection to a single value by iteratively combining elements
of the collection using the provided function.
inherited
-
remove(
String name) → PropertySource? -
Removes the PropertySource with the given
name
, if present. -
replace(
String name, PropertySource propertySource) → void -
Replaces the PropertySource with the given
name
with a new one. -
singleWhere(
bool test(PropertySource element), {PropertySource orElse()?}) → PropertySource -
The single element that satisfies
test
.inherited -
skip(
int count) → Iterable< PropertySource> -
Creates an Iterable that provides all but the first
count
elements.inherited -
skipWhile(
bool test(PropertySource value)) → Iterable< PropertySource> -
Creates an
Iterable
that skips leading elements whiletest
is satisfied.inherited -
stream(
) → GenericStream< PropertySource> -
Returns a
GenericStream
over all PropertySources in this collection.override -
take(
int count) → Iterable< PropertySource> -
Creates a lazy iterable of the
count
first elements of this iterable.inherited -
takeWhile(
bool test(PropertySource value)) → Iterable< PropertySource> -
Creates a lazy iterable of the leading elements satisfying
test
.inherited -
toList(
{bool growable = true}) → List< PropertySource> -
Creates a List containing the elements of this Iterable.
inherited
-
toSet(
) → Set< PropertySource> -
Creates a Set containing the same elements as this iterable.
inherited
-
toString(
) → String -
Returns a string representation of (some of) the elements of
this
.inherited -
where(
bool test(PropertySource element)) → Iterable< PropertySource> -
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