Immutablesとは
ValueObjectを作成するためのライブラリです。
他のソフトと比較して
まだ使い始める前段階ですが、他のソフトと比べるとこんな感じです。
- AutoValue
- Googleによるライブラリです。
- 継承嫌いなので、abstractは生理的に受け付けられないんですよね。
- Lombok
- これも有名なライブラリですが、結構怪しいことやっているという話が。まあ試してないですが。
自前で実装するのと比較して
簡単なValue Objectは自前で実装できるのですが、 以下のようなものは定型的で、めんどくさいので、やってくれると嬉しいと思います。
- builder
- toString, equals, hashCode
- with*メソッド
公式サイト
- Immutables.org
- immutables/immutables: Annotation processor to create immutable objects and builders. Feels like Guava's immutable collections but for regular value objects. JSON, Jackson, Gson, JAX-RS integrations included