Identifies a class as a builder for a POJO class.
// POJO class.
@Builder(MyBeanBuilder.class)
public class MyBean {
// Read-only properties.
public final String foo;
public final int bar;
// Constructor that takes in a builder.
public MyBean(MyBeanBuilder b) {
this.foo = b.foo;
this.bar = b.bar;
}
}
// Builder class.
public class MyBeanBuilder {
public String foo;
public int bar;
// Method that creates the bean.
public MyBean build() {
return new MyBean(this);
}
// Bean property setters.
}