package samples.lombok; import lombok.Builder; import lombok.Singular; import java.util.ArrayList; import java.util.List; /** * @author Jitendra Singh. */ @Builder public class BuilderLombokNormal { private String name; private int age; @Singular private List<String> addresses; private BuilderLombokNormal(String name, int age, List<String> addresses) { this.name = name; this.age = age; this.addresses = addresses; } public static class BuilderLombokNormalBuilder { private String name; private int age; private List<String> addresses; public BuilderLombokNormalBuilder name(String name) { this.name = name; return this; } public BuilderLombokNormalBuilder age(int age) { this.age = age; return this; } public BuilderLombokNormalBuilder addresses(String address) { if(addresses == null) { addresses = new ArrayList<>(); } this.addresses.add(address); return this; } public BuilderLombokNormalBuilder addresses(List<String> address) { if(addresses == null) { addresses = new ArrayList<>(); } this.addresses.addAll(address); return this; } public BuilderLombokNormal build() { return new BuilderLombokNormal(name, age, addresses); } } }