Package org.springframework.core.env
Class MutablePropertySources
- java.lang.Object
- org.springframework.core.env.MutablePropertySources
- All Implemented Interfaces:
Iterable<PropertySource<?>>
,PropertySources
public class MutablePropertySources extends Object implements PropertySources
The default implementation of thePropertySources
interface. Allows manipulation of contained property sources and provides a constructor for copying an existingPropertySources
instance.Where precedence is mentioned in methods such as
addFirst(org.springframework.core.env.PropertySource<?>)
andaddLast(org.springframework.core.env.PropertySource<?>)
, this is with regard to the order in which property sources will be searched when resolving a given property with aPropertyResolver
.- Since:
- 3.1
- Author:
- Chris Beams, Juergen Hoeller
- See Also:
PropertySourcesPropertyResolver
Constructor Summary
Constructors Constructor Description MutablePropertySources()
Create a newMutablePropertySources
object.MutablePropertySources(PropertySources propertySources)
Create a newMutablePropertySources
from the given propertySources object, preserving the original order of containedPropertySource
objects.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAfter(String relativePropertySourceName, PropertySource<?> propertySource)
Add the given property source object with precedence immediately lower than the named relative property source.void
addBefore(String relativePropertySourceName, PropertySource<?> propertySource)
Add the given property source object with precedence immediately higher than the named relative property source.void
addFirst(PropertySource<?> propertySource)
Add the given property source object with highest precedence.void
addLast(PropertySource<?> propertySource)
Add the given property source object with lowest precedence.protected void
assertLegalRelativeAddition(String relativePropertySourceName, PropertySource<?> propertySource)
Ensure that the given property source is not being added relative to itself.boolean
contains(String name)
Return whether a property source with the given name is contained.PropertySource<?>
get(String name)
Return the property source with the given name,null
if not found.Iterator<PropertySource<?>>
iterator()
int
precedenceOf(PropertySource<?> propertySource)
Return the precedence of the given property source,-1
if not found.PropertySource<?>
remove(String name)
Remove and return the property source with the given name,null
if not found.protected void
removeIfPresent(PropertySource<?> propertySource)
Remove the given property source if it is present.void
replace(String name, PropertySource<?> propertySource)
Replace the property source with the given name with the given property source object.int
size()
Return the number ofPropertySource
objects contained.Spliterator<PropertySource<?>>
spliterator()
Stream<PropertySource<?>>
stream()
Return a sequentialStream
containing the property sources.String
toString()
Constructor Detail
MutablePropertySources
public MutablePropertySources()
Create a newMutablePropertySources
object.
MutablePropertySources
public MutablePropertySources(PropertySources propertySources)
Create a newMutablePropertySources
from the given propertySources object, preserving the original order of containedPropertySource
objects.
Method Detail
iterator
public Iterator<PropertySource<?>> iterator()
- Specified by:
iterator
in interfaceIterable<PropertySource<?>>
spliterator
public Spliterator<PropertySource<?>> spliterator()
- Specified by:
spliterator
in interfaceIterable<PropertySource<?>>
stream
public Stream<PropertySource<?>> stream()
Description copied from interface:PropertySources
Return a sequentialStream
containing the property sources.- Specified by:
stream
in interfacePropertySources
contains
public boolean contains(String name)
Description copied from interface:PropertySources
Return whether a property source with the given name is contained.- Specified by:
contains
in interfacePropertySources
- Parameters:
name
- the name of the property source to find
get
@Nullable public PropertySource<?> get(String name)
Description copied from interface:PropertySources
Return the property source with the given name,null
if not found.- Specified by:
get
in interfacePropertySources
- Parameters:
name
- the name of the property source to find
addFirst
public void addFirst(PropertySource<?> propertySource)
Add the given property source object with highest precedence.
addLast
public void addLast(PropertySource<?> propertySource)
Add the given property source object with lowest precedence.
addBefore
public void addBefore(String relativePropertySourceName, PropertySource<?> propertySource)
Add the given property source object with precedence immediately higher than the named relative property source.
addAfter
public void addAfter(String relativePropertySourceName, PropertySource<?> propertySource)
Add the given property source object with precedence immediately lower than the named relative property source.
precedenceOf
public int precedenceOf(PropertySource<?> propertySource)
Return the precedence of the given property source,-1
if not found.
remove
@Nullable public PropertySource<?> remove(String name)
Remove and return the property source with the given name,null
if not found.- Parameters:
name
- the name of the property source to find and remove
replace
public void replace(String name, PropertySource<?> propertySource)
Replace the property source with the given name with the given property source object.- Parameters:
name
- the name of the property source to find and replacepropertySource
- the replacement property source- Throws:
IllegalArgumentException
- if no property source with the given name is present- See Also:
contains(java.lang.String)
size
public int size()
Return the number ofPropertySource
objects contained.
assertLegalRelativeAddition
protected void assertLegalRelativeAddition(String relativePropertySourceName, PropertySource<?> propertySource)
Ensure that the given property source is not being added relative to itself.
removeIfPresent
protected void removeIfPresent(PropertySource<?> propertySource)
Remove the given property source if it is present.