BasicListActionに条件絞り込み機能が欲しい。

承認依頼actionの実装が完了し、現在承認actionを実装中ですが、その過程でBasicListActionに条件絞り込み機能の必要性を感じてきました。
後回しにしてたんですけども。
マスタ一覧のように全部取得するケースは稀で、業務actionになってくるとログインユーザーに該当するデータしか表示しないというケースの方がはるかに多いわけで。

というわけで、BasicListActionに機能を追加するつもりなのですが、標準機能としてどこまで実装するのが適切なのか、そのボーダーラインを探っています。
(「検索」を「動的な絞り込み」と表現するならば、ここで触れているのは設定で持たせる「静的な絞り込み」と言えます。)

柔軟性があればそれに越したことはないのですが、一体どこまで柔軟性を持たせるか。

PaperWorker自体がRDBの使用を前提とした作りになっていますので、もの凄〜く単純に考えればSQL文をそのまま使用すれば事足りるっちゃあ事足りるんですが、おっかないです。
現在、BasicListActionは1つのBeanに紐付く形で実装されていますので、テーブル同士の連結は考えても意味がありません。
なので、単純に条件式だけを記述できればそれでいいのではないかと。

で、その条件式はDSLっぽさが出てくるわけですが、javaDSLは面倒ですね。。

演算子は等号、不等号ぐらいで。あと、AndとOrに相当する演算子も必要か。
個々のトークンは必ずBeanのメンバー変数名であることをチェックしてから使うようなスタイルにすれば・・・大丈夫かな?


承認依頼中の休暇申請の一覧を出したい場合で考えると、

(creatorId=$userId & status='Request')

みたいな感じでしょうか。優先順位の為に括弧は使えるようにしたいなあ。
ちなみにありがちですが、$が付いてるトークンは条件式中で使用できる変数にしたいです。
$nowとか$todayとかも必要になるか。

いや〜、でっかい機能追加だなぁ。やっぱり先に不便だけど承認と却下を実装してしまおうか・・・