Skip to content

Instantly share code, notes, and snippets.

@wisnukurniawan
Created January 13, 2017 07:12
Show Gist options
  • Save wisnukurniawan/8f4315ca40f2ffe052d45f6c6bff7881 to your computer and use it in GitHub Desktop.
Save wisnukurniawan/8f4315ca40f2ffe052d45f6c6bff7881 to your computer and use it in GitHub Desktop.
Builder Pattern Tutorial
/**
* Created by wisnu on 13/01/2017.
*/
public class Rumah {
private String kamarMandi;
private String ruangTamu;
private String tempatTidur;
//optional parameter
private String garasi;
private String kolamRenang;
public Rumah(RumahBuilder rumahBuilder) {
this.kamarMandi = rumahBuilder.kamarMandi;
this.ruangTamu = rumahBuilder.ruangTamu;
this.tempatTidur = rumahBuilder.tempatTidur;
this.garasi = rumahBuilder.garasi;
this.kolamRenang = rumahBuilder.kolamRenang;
}
public String getKamarMandi() {
return kamarMandi;
}
public String getRuangTamu() {
return ruangTamu;
}
public String getTempatTidur() {
return tempatTidur;
}
public String getGarasi() {
return garasi;
}
public String getKolamRenang() {
return kolamRenang;
}
public static class RumahBuilder {
private String kamarMandi;
private String ruangTamu;
private String tempatTidur;
//optional parameter
private String garasi;
private String kolamRenang;
public RumahBuilder(String kamarMandi, String ruangTamu, String tempatTidur) {
this.kamarMandi = kamarMandi;
this.ruangTamu = ruangTamu;
this.tempatTidur = tempatTidur;
}
public RumahBuilder setGarasi(String garasi) {
this.garasi = garasi;
return this;
}
public RumahBuilder setKolamRenang(String kolamRenang) {
this.kolamRenang = kolamRenang;
return this;
}
public Rumah build(){
return new Rumah(this);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment