ユーティリティコンポーネント作成プロジェクト

テキストファイル読み込み

案3

koichik
uguu さんのご意見を取り入れて S2UtilConfiguration にしてみました.もはや S2Text じゃないぞ? なのでバージョン番号も 0.0.1 のまま (笑)
名前に合わせて全面的に Commons Configuration ベースにしちゃいました.もはや Commons Configuration に OGNL でアクセスすることが主目的で,ついでにヒアドキュメントと J2SE5.0 Properties 風の XML をサポートしているという感じです.
使い方は案 2 とあまり変わっていなくて

<component name="conf" class="org.seasar.util.configuration.PropertiesConfiguration">
  <initMethod name="load">
    <arg>"org/seasar/util/configuration/PropertiesConfigurationTest.properties"</arg>
  </initMethod>
</component>

のように設定ファイルを読み込ませておけば,OGNL 式で

conf["foo.bar"]

のように設定情報にアクセスできます.
上記のようにアクセスした場合にキーに値がマッピングされていなければ例外がスローされます.これは設定で変更することは出来ません.
もしキーが存在しない場合に null を戻して欲しければ,

conf.getProperty("foo.bar")

とすることができます.また,

conf.getInt("foo.bar", 0)

のようにデフォルトを指定することもできます.

files2-util-configuration-0.0.1-src.zip


案2

koichik
こんな感じです.使うときはまず

<component name="env" class="org.seasar.util.text.env.impl.PropertiesEnvironment">
  <initMethod name="load">
    <arg>"org/seasar/util/text/env/impl/PropertiesEnvironmentTest.properties"</arg>
  </initMethod>
</component>

という具合にコンポーネントにファイルをロードして,後は任意の OGNL 式で

env["foo.bar"]

のように使うことが出来ます.
ファイル形式としては suga さんのヒアドキュメントに加えてプロパティファイル,XML ファイルをサポートしています.でもプレーンファイルは用意してません.キーがないと困るので.(^^;
files2-util-text-0.0.1-src.zip


案1

suga
こんな感じです。(案なので仕様も実装も手抜きですけど)
使うときには OGNL で #test.get("foo") とやるか、直接コンポーネントを受け取って内部メソッドを呼び出すか、ではないでしょうか。
この程度のものですが、作る意義は、エンコーディングの問題や改行コードの問題、例外処理などがあるのでいちいち作るのは面倒、結構汎用的に使える、ということです。
テンプレート的に使うなら MessageFormat と組み合わせて使う、とかでしょうか。
files2util-text.zip



添付ファイル: files2-util-configuration-0.0.1-src.zip 2423件 [詳細] files2-util-text-0.0.1-src.zip 2250件 [詳細] files2util-text.zip 2373件 [詳細]

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-12-23 (木) 00:00:00