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を生成)するときに依存関係を除外する方法があればいいんですけどねぇ。