package de.plushnikov.builder.issue165;
import lombok.Builder;
import java.util.ArrayList;
import java.util.List;
public class CommonBuilder {
@Builder(builderMethodName = "personBuilder")
public static Person create(String gender, String firstName, String lastName, List<String> children, boolean isParent) {
Person person = new Person();
person.setGender(gender);
person.setFirstName(firstName);
person.setLastName(lastName);
person.setChildren(children);
person.setParent(isParent);
return person;
}
@Builder(builderMethodName = "petBuilder")
public static Pet create(String species, String name) {
Pet pet = new Pet();
pet.setSpecies(species);
pet.setName(name);
return pet;
}
public static class PersonBuilder {
public PersonBuilder withTwoKids() {
children = new ArrayList<>();
children.add("Jack");
children.add("Jill");
isParent = true;
return this;
}
}
public static class PetBuilder {
public PetBuilder asMickeMouse() {
species = "mouse";
name = "Mickey Mouse";
return this;
}
}
}