てことでValidationの実装を書いてみた

今日の昼にValidationについて考えて、「こんな感じだといいかなー?」ってテストだけ書いたんだけど。

bufferings.hatenablog.com

それの実装を書いた。とりあえずテストだけパスするような感じであります! T がいっぱいでてきて泣きながら書いた。

ソースはGithubに置いてる

https://github.com/bufferings/validation/tree/a671531fb0c1fed081da2289f31cc91eff60955c

メインはこのクラス

課題

  • all メソッドで @SuppressWarnings("unchecked") してる。型パラメータつきのクラスの可変長引数がだめっぽい。どうしたらいいんだろう?
  • notNull メソッドとかで渡してるSupplierの省略ができるようにデフォルトのSupplierを作りたい。けどどうやって?コンストラクターで渡すのかな?
  • throwIfInvalid メソッドの Collector<T, A, String> messageGenerator で失敗結果リストを元に例外メッセージを作るのもデフォルトが指定できたらいいな。

テスト

今はこうなってる。色々省略できるといいんだけどな。