今時builderライブラリも無いだろという感じですが,書いたのです. github.com Motivationにも書いているのですが,普通に作ったJavaのbuilderは不完全なインスタンスを作成できる可能性を孕んでいます.注意深くコードを書けば問題ないかもしれませんが,えてして我々 (主語が大きい) はミスを犯しがちです.そしてNPEがやってきて……我々はしぬ. というわけで今回作ったのがarnoldです. 端的にいうと「必要なすべての要素を取りこぼさないbuilder」であり,「そのジェネレータ (annotation processor)」でもあります.Basic usageにあるように, import net.moznion.arnold.annotation.ArnoldBuilder; import net.moznion.arnold.annotation.Requir