jp.terasoluna.fw.util
クラス PropertyUtil

java.lang.Object
  上位を拡張 jp.terasoluna.fw.util.PropertyUtil

public class PropertyUtil
extends java.lang.Object

プロパティファイルからプロパティを取得するユーティリティクラス。

デフォルトでは ApplicationResources ファイルを読み込むが、 ApplicationResources ファイルで以下のように指定することにより、 他のプロパティファイルを追加で読み込むこともできる。

ApplicationResources.propertiesの設定書式
   add.property.file.1 = <追加プロパティファイル名1>
   add.property.file.2 = <追加プロパティファイル名2>
   ...
 

また、プロパティファイルを個別に指定した以下の機能がある

  1. 部分キー検索による値取得
  2. 部分キー取得
詳細は、 getPropertyNames() メソッド、 getPropertiesValues() メソッドを参照。


フィールドの概要
private static java.lang.String ADD_PROPERTY_PREFIX
          追加プロパティファイル指定のプリフィックス。
static java.lang.String DEFAULT_PROPERTY_FILE
          デフォルトプロパティファイル名。
private static java.util.Set<java.lang.String> files
          読み込んだプロパティファイル名リスト。
private static org.apache.commons.logging.Log log
          ログクラス。
private static java.lang.String PROPERTY_EXTENSION
          プロパティファイルの拡張子。
private static java.util.TreeMap<java.lang.String,java.lang.String> props
          プロパティのキーと値を保持するオブジェクト。
 
コンストラクタの概要
PropertyUtil()
           
 
メソッドの概要
static void addPropertyFile(java.lang.String name)
          指定されたプロパティファイルを追加で読み込む。
private static java.lang.String getPropertiesPath(java.lang.String resource, java.lang.String addFile)
          プロパティファイルの読み出しパスを取得する。
static java.util.Set<java.lang.String> getPropertiesValues(java.util.Properties localProps, java.util.Enumeration<java.lang.String> propertyNames)
          キー一覧に対し、プロパティより取得した値を取得する。
static java.util.Set getPropertiesValues(java.lang.String propertyName, java.lang.String keyPrefix)
          プロパティファイル名、部分キー文字列を指定することにより 値セットを取得する。
static java.lang.String getProperty(java.lang.String key)
          指定されたキーのプロパティを取得する。
static java.lang.String getProperty(java.lang.String key, java.lang.String defaultValue)
          指定されたキーのプロパティを取得する。
static java.util.Enumeration getPropertyNames()
          プロパティのすべてのキーのリストを取得する。
static java.util.Enumeration<java.lang.String> getPropertyNames(java.util.Properties localProps, java.lang.String keyPrefix)
          プロパティを指定し、部分キープリフィックスに合致する キー一覧を取得する。
static java.util.Enumeration<java.lang.String> getPropertyNames(java.lang.String keyPrefix)
          指定されたプリフィックスから始まるキーのリストを取得する。
private static void load(java.lang.String name)
          指定されたプロパティファイルを読み込む。
static java.util.Properties loadProperties(java.lang.String propertyName)
          指定したプロパティファイル名で、プロパティオブジェクトを取得する。
private static void overrideProperties()
          プロパティファイルから読み込まれた内容を、 コマンドラインの "-D" オプション等で指定された システムプロパティで上書きする。
private static java.util.Properties readPropertyFile(java.lang.String name)
          指定されたプロパティファイルを読み込む。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static org.apache.commons.logging.Log log
ログクラス。


DEFAULT_PROPERTY_FILE

public static final java.lang.String DEFAULT_PROPERTY_FILE
デフォルトプロパティファイル名。

関連項目:
定数フィールド値

ADD_PROPERTY_PREFIX

private static final java.lang.String ADD_PROPERTY_PREFIX
追加プロパティファイル指定のプリフィックス。

関連項目:
定数フィールド値

PROPERTY_EXTENSION

private static final java.lang.String PROPERTY_EXTENSION
プロパティファイルの拡張子。

関連項目:
定数フィールド値

props

private static java.util.TreeMap<java.lang.String,java.lang.String> props
プロパティのキーと値を保持するオブジェクト。


files

private static java.util.Set<java.lang.String> files
読み込んだプロパティファイル名リスト。

コンストラクタの詳細

PropertyUtil

public PropertyUtil()
メソッドの詳細

load

private static void load(java.lang.String name)
指定されたプロパティファイルを読み込む。

読み込まれたプロパティファイルは、 以前読み込んだ内容に追加される。

パラメータ:
name - プロパティファイル名

readPropertyFile

private static java.util.Properties readPropertyFile(java.lang.String name)
指定されたプロパティファイルを読み込む。

以前読み込んだ内容に追加される。

パラメータ:
name - プロパティファイル名
戻り値:
プロパティリスト

overrideProperties

private static void overrideProperties()
プロパティファイルから読み込まれた内容を、 コマンドラインの "-D" オプション等で指定された システムプロパティで上書きする。


addPropertyFile

public static void addPropertyFile(java.lang.String name)
指定されたプロパティファイルを追加で読み込む。

複数回呼び出しても1度しか読み込まれない。 プロパティファイル名の ".properties" は省略できる。

パラメータ:
name - プロパティファイル名

getProperty

public static java.lang.String getProperty(java.lang.String key)
指定されたキーのプロパティを取得する。

参照値が "@" 付きの文字列である時、間接キーとみなし もう一度 "@" を外した文字列をキーとして検索する。 key=@key という形で定義されている時、無限ループを回避するため、 @keyを直接返却する。 先頭が "@" である文字列を値として設定する際には 先頭の "@@" を "@" に変更しプロパティファイル に設定する事で、間接キー検索の機能を回避できる。

パラメータ:
key - プロパティのキー
戻り値:
指定されたキーのプロパティの値

getProperty

public static java.lang.String getProperty(java.lang.String key,
                                           java.lang.String defaultValue)
指定されたキーのプロパティを取得する。

プロパティが見つからなかった場合には、指定されたデフォルトが返される。

パラメータ:
key - プロパティのキー
defaultValue - プロパティのデフォルト値
戻り値:
指定されたキーのプロパティの値

getPropertyNames

public static java.util.Enumeration getPropertyNames()
プロパティのすべてのキーのリストを取得する。

戻り値:
プロパティのすべてのキーのリスト

getPropertyNames

public static java.util.Enumeration<java.lang.String> getPropertyNames(java.lang.String keyPrefix)
指定されたプリフィックスから始まるキーのリストを取得する。

パラメータ:
keyPrefix - キーのプリフィックス
戻り値:
指定されたプリフィックスから始まるキーのリスト

getPropertiesValues

public static java.util.Set getPropertiesValues(java.lang.String propertyName,
                                                java.lang.String keyPrefix)
プロパティファイル名、部分キー文字列を指定することにより 値セットを取得する。

パラメータ:
propertyName - プロパティファイル名
keyPrefix - 部分キー文字列
戻り値:
値セット

getPropertyNames

public static java.util.Enumeration<java.lang.String> getPropertyNames(java.util.Properties localProps,
                                                                       java.lang.String keyPrefix)
プロパティを指定し、部分キープリフィックスに合致する キー一覧を取得する。

パラメータ:
localProps - プロパティ
keyPrefix - 部分キープリフィックス
戻り値:
部分キープリフィックスに合致するキー一覧

getPropertiesValues

public static java.util.Set<java.lang.String> getPropertiesValues(java.util.Properties localProps,
                                                                  java.util.Enumeration<java.lang.String> propertyNames)
キー一覧に対し、プロパティより取得した値を取得する。

パラメータ:
localProps - プロパティ
propertyNames - キーの一覧
戻り値:
値セット

loadProperties

public static java.util.Properties loadProperties(java.lang.String propertyName)
指定したプロパティファイル名で、プロパティオブジェクトを取得する。

パラメータ:
propertyName - プロパティファイル
戻り値:
プロパティオブジェクト

getPropertiesPath

private static java.lang.String getPropertiesPath(java.lang.String resource,
                                                  java.lang.String addFile)
プロパティファイルの読み出しパスを取得する。 プロパティファイルを追加を行ったプロパティファイルが 存在するディレクトリをベースにして追加されたプロパティファイルを読む為、 プロパティファイルの読み出しディレクトリを取得する。

パラメータ:
resource - 追加指定を記述しているプロパティファイル
addFile - 追加するプロパティファイル
戻り値:
追加するプロパティファイルの読み出しパス