org.springframework.core.env

## 类 MutablePropertySources

- java.lang.Object
- - org.springframework.core.env.MutablePropertySources

- 所有已实现的接口:
    Iterable<PropertySource<?>>, PropertySources

      public class MutablePropertySources
      extends Object
      implements PropertySources

  The default implementation of the `PropertySources` interface. Allows manipulation of contained property sources and provides a constructor for copying an existing `PropertySources` instance.

  Where precedence is mentioned in methods such as `addFirst(org.springframework.core.env.PropertySource<?>)` and `addLast(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 a `PropertyResolver`.

  从以下版本开始:
    3.1
  作者:
    Chris Beams, Juergen Hoeller
  另请参阅:
    `PropertySourcesPropertyResolver`

- - ### 构造器概要

    构造器
    构造器和说明
    `MutablePropertySources()` Create a new `MutablePropertySources` object.
    `MutablePropertySources(PropertySources propertySources)` Create a new `MutablePropertySources` from the given propertySources object, preserving the original order of contained `PropertySource` objects.

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `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 of `PropertySource` objects contained.
    `String` | `toString()`

    - ### 从类继承的方法 java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### 从接口继承的方法 java.lang.Iterable

      `forEach, spliterator`

- - ### 构造器详细资料

    - #### MutablePropertySources

          public MutablePropertySources()

      Create a new `MutablePropertySources` object.

    - #### MutablePropertySources

          public MutablePropertySources(PropertySources propertySources)

      Create a new `MutablePropertySources` from the given propertySources object, preserving the original order of contained `PropertySource` objects.

  - ### 方法详细资料

    - #### iterator

          public Iterator<PropertySource<?>> iterator()

      指定者:
        `iterator` 在接口中 `Iterable<PropertySource<?>>`

    - #### contains

          public boolean contains(String name)

      从接口复制的说明: `PropertySources`
      Return whether a property source with the given name is contained.
      指定者:
        `contains` 在接口中 `PropertySources`
      参数:
        `name` - the name of the property source to find

    - #### get

          @Nullable
          public PropertySource<?> get(String name)

      从接口复制的说明: `PropertySources`
      Return the property source with the given name, `null` if not found.
      指定者:
        `get` 在接口中 `PropertySources`
      参数:
        `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.
      参数:
        `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.
      参数:
        `name` - the name of the property source to find and replace
        `propertySource` - the replacement property source
      抛出:
        `IllegalArgumentException` - if no property source with the given name is present
      另请参阅:
        `contains(java.lang.String)`

    - #### size

          public int size()

      Return the number of `PropertySource` objects contained.

    - #### toString

          public String toString()

      覆盖:
        `toString` 在类中 `Object`

    - #### 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.