PWListActionへの絞り込み機能の方針

ひとまず承認系の依頼・承認・却下の各Actionの実装が終わりました。
相変わらずコマンドラインなので使い勝手が悪いですが。

さて、前回記載した、PWListAction(BasicListActionから名前が変わりました)の条件絞り込み機能について更に考え、真逆に舵を取ることに。

・PaperWorker専用の絞り込みDSLは作らず、SQLのselect文を使う。
・但し、1つのselect文のみ実行するような仕組みを作る。
・このselect文は、ActionSettingsテーブルのargumentsに記述する。
・このselect文にはいくつかの特殊な変数を埋め込むことができるものとする。
 (ex: ログインユーザーID)

何故最終的にSQL文を採用したかというと、機能を追加する人の使い勝手を考えた結果です。
PaperWorker用の絞り込み用DSLを作ったとしても、それは恐らく複雑さに関してスケールしない不完全なDSLになり、どうせ「ここでSQLが使えれば・・・」となるケースが出てくることが目に見えたからです。
柔軟性が何より大事な本機能に関して言えば、制約だらけになるであろうそんなDSLに存在意義はないことに気がつきました。

とはいえ、select文以外が実行されたりすると非常にまずいので、そこら辺はうまく作らないとなぁと思います。
てか、単にPreparedStatementクラスのexecuteQuery()メソッドを実行すればOKなんかな??試してみよっと。