Lombok では、ビルダー パターンの使用を簡素化するために @Builder アノテーションが使用されます。@Builder アノテーションを使用すると、Lombok は複数のプロパティを持つオブジェクトを作成するためのビルダー クラスを自動的に生成します。
@Builder アノテーションを使用する場合は、次の点に注意する必要があります。
@Builder アノテーションを付けるクラスに @Builder アノテーションを追加します。
プロパティのデフォルト値を指定するには、 @Builder.Default アノテーションを使用する必要があります。
ビルダー クラスは、オブジェクトの作成に使用される引数のないコンストラクターを自動的に生成します。
生成されたビルダー クラスには、チェーンできるプロパティのセッター メソッドが含まれます。
@Builder アノテーションを使用した例を次に示します。
import lombok.Builder;
import lombok.Getter;
@Getter
@Builder
public class Person {
private String name;
private int age;
@Builder.Default
private String gender = "unknown";
}
// 使用示例
Person person = Person.builder()
.name("John")
.age(25)
.build();
上記の例では、 @Builder.Default アノテーションを使用して、性別プロパティのデフォルト値を「unknown」に設定しています。次に、生成されたビルダー クラス Person.builder() を使用して Person オブジェクトを作成し、呼び出しを連鎖することでプロパティの値を設定します。最後に、build() メソッドを使用して最終オブジェクトが作成されます。
@Builder アノテーションを使用すると、複数のプロパティを持つオブジェクトを作成するプロセスが簡素化され、ビルダーを手動で記述する面倒なコードを回避できます。