ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

DMDL テンプレートSPI

2018-12-24 00:07:46 | PG(分散処理)

Asakusa Framework Advent Calendar 2018の24日目、拙作DMDLのテンプレート機能の紹介です。

これはだいぶ昔に作った機能なのですが、AsakusaFWのSPIの機能を利用して独自のDMDL属性(@template)を作り、テンプレートにその属性の内容を埋め込むものです。
つまり、これを使ってImporter・Exporter(FromCsv, ToCsv)のソースファイルを生成することが出来ます。

DMDL EditorXにはImporter・Exporterを生成するウィザードもありますが、個人的には微妙に使いづらく、結局、既存のクラスをコピペして修正して使うことが多いです。

その点、このテンプレート機能を使う方が楽そうです。(なお、テンプレートエンジンにはFreeMarkerを使っています)

ただ、AsakusaFW0.7の頃に作った物なので依存関係が古く、build.gradleに記述する際はAsakusaFWやHadoopの依存関係をexcludeしないといけません。
この辺り、Gradleでライブラリー化(Mavenのpomを生成)するときに依存関係を除外する方法があればいいんですけどねぇ。