sticker (0.1.5.2) | 2009-10-25 12:47 |
Sticker定義ファイル生成スクリプト
Stickleは、Stikerの動作を設定するXML定義ファイルを生成するためのスクリプト、またそのスクリプトを解析し、Stickerの定義ファイルを生成するスクリプトエンジンです。
Stickleは、Stickerの動作定義により高度な柔軟性をもたらします。
StickerのXML定義ファイルは、十分に簡潔な内容のXMLファイルです。
直接記述してもなんら問題はありません。
また、シンプルな制御構造の記述や、特定の用途のための変数の利用も可能なため、ある程度の柔軟性も持っています。
しかし、場合によっては、より高度な柔軟性が必要になることもあります。
例えば、接続先のデータベースや、データソースとなるCSVファイルを、状況によって動的に切り替えたい場合、Stickerの定義ファイルだけでそれを実現するのは困難です。
また、Stickerの定義ファイルではロジックフローの制御を表現することができますが、XMLファイル上で制御構造を表現するのは、冗長になりがちです。
StickleスクリプトでStickerの動作を記述することで、静的な「設定」でなく、動的な「アルゴリズム」によってStickerを制御できるようになります。
これによって、例えば以下のようなことが可能になるはずです。
Stickerは、データベース同士を糊付けするツールですが、Stickleを使用することで、Stickerはより用途が広く、融通の利く接着剤となってくれることでしょう。
Stickleスクリプトエンジンが行うことは、とても単純です。
あなたが記述したスクリプトを解析して、その内容に従ってXMLファイルを生成するだけです。
このXMLファイルの内容は、Sticker定義ファイルの形式に正確にのっとったものです。
したがって、このファイルをStickerに与えることで、Stickerは意図通りに処理を実行してくれるはずです。
たったこれだけのことですが、Stickerに新たな活躍の場を与えるには、じゅうぶんです。
今後、Stickleはスクリプトという立場で、Stickerの定義ファイルとはまた違った方向に、独自に拡張されていくでしょう。
現在のところ、stickleスクリプトエンジンの実装は、groovyスクリプトとしてのみ提供しています。
したがって、Stickleを動作させるには、Stickerが動作する環境、Sticker自体に加えて、groovyランタイムが必要です。
ただし、groovyスクリプトはjavaバイナリへのコンパイルが可能ですので、必要であれば、通常のjava実行可能形式にすることもできます。
詳細は、groovyのサイトを参照してください。
groovy sticklec -s [Sticleスクリプトファイルのパス] -d [生成するSticker定義ファイルのパス]
Stickleは、コマンドラインで実行します。
例えば、Windowsのコマンドプロンプトでsticklec.groovyがあるフォルダに移動し、"C:\Stickle\Example.stickle"というStikleスクリプトから"D:\Sticker\Definition.xml"というSticker定義ファイルを生成するには、以下のコマンドを実行します。
groovy sticklec -s C:\Stickle\Example.stickle -d D:\Sticker\Definition.xmlもちろん、パスは相対でもかまいません。
つまり、スクリプトやバッチファイル、またはシェルなどで、以下のようにコマンドを実行すると、StickleとStickerが連続で実行され、Stickleスクリプトで直接制御しているような感覚でStickerを扱うことができます。
groovy sticklec -s C:\Stickle\Example.stickle -d D:\Sticker\Definition.xml -n java -jar sticker-x.x.x.jar D:\Sticker\Definition.xml
現在のStickleスクリプトエンジンの実装は、それ自体スクリプトであるため、ソースコードのみの提供です。
StickerプロジェクトのCVSから、Stickleモジュールをチェックアウトして使用してください。
ここを参照してください。
準備中です。
Stickleのライセンス条件は、Stickerに準じます。
have fun!