Если вы хотите сохранить шаблон компоновщика, вы можете рассмотреть возможность использования внутреннего статического класса в этом отношении следующим образом (вам не нужен пустой конструктор, который добавлен неявно):
public class Data {
private int type = -1;
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public static class Builder {
private Data data = new Data();
public Builder setType(int type) {
data.setType(type);
return this;
}
public Data build() {
return data;
}
}
}
Теперь для создания класса данных вы можете сделать:
Data data = new Data.Builder()
.setType(10)
.build();