Lombokの細かい使い方を紹介します。
Lombokを利用すると、Javaのgetter/setterなどメソッドを自動生成することができます。
http://codezine.jp/article/detail/7274
この記事は、Lombokの基本的な使い方を知っている人を、対象としています。
特定のフィールドのみメソッドを自動生成しない方法
クラスに@Data/Getter/Setterを設定した場合、すべてのフィールドに対してgetter/setterが生成されます。
しかし、ある特定のフィールドに対してはSetterを生成したくない場合がありあます。
たとえば、以下のクラスのような、コンストラクタで値を設定するフィールドに対しては、Setterを生成しない方がよいでしょう。
そんなときは、@Setter(AccessLevel.none)
でSetterは生成されなくなります。
/** グラフのプロット点を表すクラス */
@Data
class GraphPoint {
GraphPoint(double x, double y) {
this.x = x;
this.y = y;
}
/** x値 */
@Setter(AccessLevel.none)
private double x = 0d;
/** y値 */
@Setter(AccessLevel.none)
private double y = 0d;
/** プロット点の色 */
private String color = null;
/** プロット点の形 */
private String figure = null;
}