ConfigSlurperは、プロパティファイルに似た設定用スクリプトを書くためのGroovyのユーティリティクラスです。通常のJavaのプロパティファイルとは違い、ConfigSlurperスクリプトはネイティブなJavaの型をサポートし、ツリー状に構造化されます。
以下はConfigSlurperスクリプトでLog4jを設定する例です:
これを読取り可能な設定としてロードするためには次のようにします:
上の例でわかるようにドット記法を使って設定値を読取ることができ、そのリターン値は文字列やbooleanのようなJava型になります。
記述の繰り返しを避けるため、設定スクリプトの中でスコープを利用することも可能です。つまり、上記の設定は次のようにも書けます:
ConfigSlurperの設定はJavaプロパティファイルとの相互変換が可能です。例えば:
設定オブジェクトはマージ可能です。複数の設定ファイルから一つの中央設定オブジェクトを作る場合は次のようにできます:
設定オブジェクトはシリアライズしてディスクに書き出すことができます。各設定オブジェクトは groovy.lang.Writable インタフェースを実装しているので、どのような java.io.Writer に対してもその設定を書き出すことが可能です:
ConfigSlurperクラスには「環境」パラメータ引数に持つ、デフォルトコンストラクタと異なるコンストラクタが存在します。
この特別なコンストラクタは環境定義ファイルと連携して動きます。
既存の環境定義設定は環境定義クロージャの定義によって上書きすることができます。
複数の関連した構成が同じファイルに保存することも可能です。
構成の設定ファイル例
この構成を実行するコードは下記となります:
追記:
環境定義のクロージャは直接解析されるわけでありません。
特別な環境下で使われる場合を除いて、このコンストラクタのクロージャは無視されます
環境定義値のコンストラクタには構成ファイルを利用できます。
下記のような構成を設定する事もできます: