クラス EnumerablePropertySource<T>

java.lang.ObjectSE
org.springframework.core.env.PropertySource<T>
org.springframework.core.env.EnumerablePropertySource<T>
型パラメーター:
T - ソース型
既知の直属サブクラス
CommandLinePropertySourceCompositePropertySourceMapPropertySourceServletConfigPropertySourceServletContextPropertySource

public abstract class EnumerablePropertySource<T> extends PropertySource<T>
すべての可能なプロパティ名 / 値のペアを列挙するために、基となるソースオブジェクトを問い合わせることができる PropertySource の実装です。呼び出し元がソースオブジェクトにアクセスせずに利用可能なプロパティを参照できるようにするために, getPropertyNames() メソッドを公開しています。これはまた、containsProperty(String) のより効率的な実装を容易にします。これは、より高負荷な PropertySource.getProperty(String) の呼び出しを試みるよりも, getPropertyNames() を呼び出して返された配列を繰り返し処理することができるという点です。実装では,この性能を十分に利用するために、getPropertyNames() の結果をキャッシュすることを検討することができます。

フレームワークが提供するほとんどの PropertySource 実装は列挙可能です。反例は JndiPropertySource であり、JNDI の性質上、すべての可能なプロパティ名を特定の時点で決定することは不可能です。むしろ、プロパティが存在するかどうかを評価するために(PropertySource.getProperty(String) を介して)プロパティへのアクセスを試みることのみが可能です。

導入:
3.1
作成者:
Chris Beams, Juergen Hoeller
  • コンストラクターの詳細

    • EnumerablePropertySource

      public EnumerablePropertySource(StringSE name, T source)
      指定された名前とソースオブジェクトで新しい EnumerablePropertySource を作成します。
      パラメーター:
      name - 関連する名前
      source - ソースオブジェクト
    • EnumerablePropertySource

      protected EnumerablePropertySource(StringSE name)
      指定された名前と、基になるソースとして新しい Object インスタンスを使用して、新しい EnumerablePropertySource を作成します。
      パラメーター:
      name - 関連する名前
  • メソッドの詳細

    • containsProperty

      public boolean containsProperty(StringSE name)
      この PropertySource に、指定された名前のプロパティが含まれているかどうかを返します。

      この実装は、getPropertyNames() 配列内の指定された名前の存在を確認します。

      オーバーライド:
      クラス PropertySource<T>containsProperty 
      パラメーター:
      name - 検索するプロパティの名前
    • getPropertyNames

      public abstract StringSE[] getPropertyNames()
      ソースオブジェクトに含まれるすべてのプロパティの名前を返します(null は決してしないでください)。