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 thePropertySourcesinterface. Allows manipulation of contained property sources and provides a constructor for copying an existingPropertySourcesinstance.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 newMutablePropertySourcesobject.MutablePropertySources(PropertySources propertySources)Create a newMutablePropertySourcesfrom the given propertySources object, preserving the original order of containedPropertySourceobjects.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAfter(String relativePropertySourceName, PropertySource<?> propertySource)Add the given property source object with precedence immediately lower than the named relative property source.voidaddBefore(String relativePropertySourceName, PropertySource<?> propertySource)Add the given property source object with precedence immediately higher than the named relative property source.voidaddFirst(PropertySource<?> propertySource)Add the given property source object with highest precedence.voidaddLast(PropertySource<?> propertySource)Add the given property source object with lowest precedence.protected voidassertLegalRelativeAddition(String relativePropertySourceName, PropertySource<?> propertySource)Ensure that the given property source is not being added relative to itself.booleancontains(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,nullif not found.Iterator<PropertySource<?>>iterator()intprecedenceOf(PropertySource<?> propertySource)Return the precedence of the given property source,-1if not found.PropertySource<?>remove(String name)Remove and return the property source with the given name,nullif not found.protected voidremoveIfPresent(PropertySource<?> propertySource)Remove the given property source if it is present.voidreplace(String name, PropertySource<?> propertySource)Replace the property source with the given name with the given property source object.intsize()Return the number ofPropertySourceobjects contained.StringtoString()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 newMutablePropertySourcesobject.
MutablePropertySources
public MutablePropertySources(PropertySources propertySources)
Create a newMutablePropertySourcesfrom the given propertySources object, preserving the original order of containedPropertySourceobjects.
Method Detail
contains
public boolean contains(String name)
Description copied from interface:PropertySourcesReturn whether a property source with the given name is contained.- Specified by:
containsin interfacePropertySources- Parameters:
name- the name of the property source to find
get
public PropertySource<?> get(String name)
Description copied from interface:PropertySourcesReturn the property source with the given name,nullif not found.- Specified by:
getin interfacePropertySources- Parameters:
name- the name of the property source to find
iterator
public Iterator<PropertySource<?>> iterator()
- Specified by:
iteratorin 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,-1if not found.
remove
public PropertySource<?> remove(String name)
Remove and return the property source with the given name,nullif 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 ofPropertySourceobjects 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.