Class Preference

java.lang.Object
org.iplass.mtp.prefs.Preference
All Implemented Interfaces:
Serializable, Definition
Direct Known Subclasses:
PreferenceSet

public class Preference extends Object implements Definition
テナント単位に定義可能な汎用の設定を表す。 name、valueのペアを持つ。 また、この設定を元に実行時に初期化、インスタンス化されるruntimeClassを定義することが可能。 runtimeClassは、この設定の読み込み時に1度だけ初期化され、テナントが有効の間、同一のインスタンスが保持される。 ただし、テナント起動中に、Preferenceの変更・再読み込みが発生した場合は、以前のruntimeClassのインスタンスが破棄(GC対象に)され、 新たなインスタンスが生成され初期化される。
runtimeClassはデフォルトコンストラクタを持つ、POJOもしくはPreferenceAwareを実装したクラス。
POJOの場合は、次の形でPreferenceの値が設定される。
  • Preference:POJOのname,valueプロパティに値をセット。その名前のプロパティがない場合は、セットしない。
  • PreferenceSet:上記に加えて、subSetで指定されている各Preferenceのnameをプロパティ名としてvalueを値としてセット。
PreferenceAware実装クラスの場合は、初期化時にinitializeメソッドが呼び出される。 runtimeClassにはutilityClassとして作成されたGroovyクラスの指定も可能。 utilityClassの場合は、そのクラスはGroovyコード内では可視であるが、javaで実装されたクラスからはGroovyObjectとしてのみ参照可能。
See Also:
  • Constructor Details

    • Preference

      public Preference()
      コンストラクタ。
    • Preference

      public Preference(String name, String value)
      コンストラクタ。
      Parameters:
      name - 設定名
      value - 設定値
    • Preference

      public Preference(String name, String value, String runtimeClassName)
      コンストラクタ。
      Parameters:
      name - 設定名
      value - 設定値
      runtimeClassName - runtimeClass名
  • Method Details

    • getName

      public String getName()
      Description copied from interface: Definition
      名前を取得します。
      Specified by:
      getName in interface Definition
      Returns:
      名前
    • setName

      public void setName(String name)
      Description copied from interface: Definition
      名前を設定します。
      Specified by:
      setName in interface Definition
      Parameters:
      name - 名前
    • getValue

      public String getValue()
    • setValue

      public void setValue(String value)
    • getRuntimeClassName

      public String getRuntimeClassName()
    • setRuntimeClassName

      public void setRuntimeClassName(String runtimeClassName)
    • getDisplayName

      public String getDisplayName()
      Description copied from interface: Definition
      表示名を取得します。
      Specified by:
      getDisplayName in interface Definition
      Returns:
      表示名
    • setDisplayName

      public void setDisplayName(String displayName)
      Description copied from interface: Definition
      表示名を設定します。
      Specified by:
      setDisplayName in interface Definition
      Parameters:
      displayName - 表示名
    • getDescription

      public String getDescription()
      Description copied from interface: Definition
      概要を取得します。
      Specified by:
      getDescription in interface Definition
      Returns:
      概要
    • setDescription

      public void setDescription(String description)
      Description copied from interface: Definition
      概要を設定します。
      Specified by:
      setDescription in interface Definition
      Parameters:
      description - 概要
    • getValue

      public String getValue(String defaultValue)
      設定値を取得する。 もし、設定値が未設定の場合、defaultValueを返却する。
      Parameters:
      defaultValue -
      Returns: