org.springframework.core.env

## 类 EnumerablePropertySource<T>

- java.lang.Object
- - org.springframework.core.env.PropertySource<T>
  - - org.springframework.core.env.EnumerablePropertySource<T>

- 直接已知子类:
    CommandLinePropertySource, CompositePropertySource, MapPropertySource

      public abstract class EnumerablePropertySource<T>
      extends PropertySource<T>

  A `PropertySource` implementation capable of interrogating its underlying source object to enumerate all possible property name/value pairs. Exposes the `getPropertyNames()` method to allow callers to introspect available properties without having to access the underlying source object. This also facilitates a more efficient implementation of `containsProperty(String)`, in that it can call `getPropertyNames()` and iterate through the returned array rather than attempting a call to `PropertySource.getProperty(String)` which may be more expensive. Implementations may consider caching the result of `getPropertyNames()` to fully exploit this performance opportunity.

  Most framework-provided `PropertySource` implementations are enumerable; a counter-example would be `JndiPropertySource` where, due to the nature of JNDI it is not possible to determine all possible property names at any given time; rather it is only possible to try to access a property (via `PropertySource.getProperty(String)`) in order to evaluate whether it is present or not.

  从以下版本开始:
    3.1
  作者:
    Chris Beams, Juergen Hoeller

- - ### 嵌套类概要

    - ### 从类继承的嵌套类/接口 org.springframework.core.env.PropertySource

      `PropertySource.StubPropertySource`

  - ### 字段概要

    - ### 从类继承的字段 org.springframework.core.env.PropertySource

      `logger, name, source`

  - ### 构造器概要

    构造器
    限定符 | 构造器和说明
    --- | ---
    `protected` | `EnumerablePropertySource(String name)`
    `` | `EnumerablePropertySource(String name, T source)`

  - ### 方法概要

    所有方法 实例方法 抽象方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `boolean` | `containsProperty(String name)` Return whether this `PropertySource` contains a property with the given name.
    `abstract String[]` | `getPropertyNames()` Return the names of all properties contained by the source object (never `null`).

    - ### 从类继承的方法 org.springframework.core.env.PropertySource

      `equals, getName, getProperty, getSource, hashCode, named, toString`

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

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

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

    - #### EnumerablePropertySource

          public EnumerablePropertySource(String name,
                                          T source)

    - #### EnumerablePropertySource

          protected EnumerablePropertySource(String name)

  - ### 方法详细资料

    - #### containsProperty

          public boolean containsProperty(String name)

      Return whether this `PropertySource` contains a property with the given name.

      This implementation checks for the presence of the given name within the `getPropertyNames()` array.

      覆盖:
        `containsProperty` 在类中 `PropertySource<T>`
      参数:
        `name` - the name of the property to find

    - #### getPropertyNames

          public abstract String[] getPropertyNames()

      Return the names of all properties contained by the source object (never `null`).