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
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.String
toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
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
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
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
iterator
public Iterator<PropertySource<?>> iterator()
- Specified by:
iterator
in interfaceIterable<PropertySource<?>>
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
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.