なんでも自動生成 (FreeGen)

FreeGenとは?

DBFluteの自動生成機能を間借りして、色々なものを自動生成しようという企みです。

通常の FreeGen は、freeGenMap.dfprop で定義された情報と指定されたVelocityテンプレートを元に自動生成しますが、 LastaFluteではそれらが規約ベースですでに組み込まれているので記述する設定は非常に少ないです。 lastafluteMap.dfprop にて自動生成する対象を取捨選択するだけとなります。

FreeGenの叩き方

manageタスク (DBFluteクライアントの manage.bat|sh) の 12 (freegen) を叩きます。

e.g. execute FreeGen @Command
...$ sh manage.sh

// メニューが表示されるので、12 (freegen) を入力してEnter
// Windowsなら manage.bat, Eclipseからでも直接叩ける (ctrl+shift+Rから叩こう)

FreeGenをいつ叩く?

リソースファイルの作成と修正

以下のファイルを修正したら FreeGen を叩きましょう。

[app]_env.properties
[App]Env、Configから継承される
[app]_config.properties
[App]Config、DIできる (lastaflute_director.xmlに定義される)
[app]_label.properties
[App]Labels、Messagesから継承される
[app]_message.properties
[App]Messages、ActionMessagesとして利用
HTMLテンプレート (.html, .jsp)
ThymeleafやJSPなどのパス定義 (これだけは中身は関係ない)
メールテンプレート (.dfmail)
MailFlute の Postcard (mylasta.mail に出力)
汎用テンプレート (.dfpm)
汎用テンプレートのクラス (mylasta.template に出力)

LastaDocの更新

さらに、Actionクラスの内容を反映させたドキュメント、LastaDoc を更新したいときです。

厳密に最新化を図るなら、Actionクラスが変われば FreeGen を叩く、ということになりますが、ちょっと現実的ではないので、ある程度は自然の追従に任せて、正確な最新情報が欲しいときに明示的に叩くとよいでしょう。

FreeGenの後は再起動

FreeGenで生成されるクラスは、基本的にホットデプロイ (HotDeploy) 対象ではありません。 自動生成したら再起動 という覚え方をしておきましょう。