Package io.microsphere.spring.config.env
Class ImmutableMapPropertySource
public class ImmutableMapPropertySource
extends org.springframework.core.env.MapPropertySource
An immutable implementation of
MapPropertySource that ensures the underlying map remains unmodifiable.
This class is useful in scenarios where the configuration properties should be protected from further modifications
after initialization. It wraps the provided source map into an unmodifiable map using
Collections.unmodifiableMap(Map).
Example Usage
Map<String, Object> source = new HashMap<>();
source.put("key1", "value1");
source.put("key2", 42);
ImmutableMapPropertySource propertySource = new ImmutableMapPropertySource("mySource", source);
// The following operations will throw UnsupportedOperationException
try {
propertySource.getPropertySources().addLast(new CustomPropertySource());
} catch (UnsupportedOperationException e) {
// Expected exception
}
- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
-
MapPropertySourceCollections.unmodifiableMap(Map)
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.core.env.PropertySource
org.springframework.core.env.PropertySource.StubPropertySource -
Field Summary
Fields inherited from class org.springframework.core.env.PropertySource
logger, name, source -
Constructor Summary
ConstructorsConstructorDescriptionImmutableMapPropertySource(String name, Map source) Create a new immutableMapPropertySourcewith the given name andMap. -
Method Summary
Methods inherited from class org.springframework.core.env.MapPropertySource
containsProperty, getProperty, getPropertyNamesMethods inherited from class org.springframework.core.env.PropertySource
equals, getName, getSource, hashCode, named, toString
-
Constructor Details
-
ImmutableMapPropertySource
Create a new immutableMapPropertySourcewith the given name andMap.- Parameters:
name- the associated namesource- the Map source (withoutnullvalues in order to get consistentMapPropertySource.getProperty(java.lang.String)andMapPropertySource.containsProperty(java.lang.String)behavior)
-