AlertDialog.Builderbuilder=new AlertDialog.Builder(context).setIcon(R.mipmap.ic_launcher).setTitle("This is title").setMessage("This is Message").setPositiveButton("ok",null).create();builder.show();
public class Car {
private String color;
private String licensePlate;
private String brand;
public void setColor(String color) {
this.color = color;
}
public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
}
public void setBrand(String brand) {
this.brand = brand;
}
@Override
public String toString() {
return "Car{" +
"color='" + color + '\'' +
", licensePlate='" + licensePlate + '\'' +
", brand='" + brand + '\'' +
'}';
}
}
public class CarBuilder implements Builder {
Car car;
public CarBuilder() {
this.car = new Car();
}
@Override
public void buildColor(String color) {
car.setColor(color);
}
@Override
public void buildLicensePlate(String licensePlate) {
car.setLicensePlate(licensePlate);
}
@Override
public void buildBrand(String brand) {
car.setBrand(brand);
}
@Override
public Car build() {
return car;
}
}
public class Director {
Builder builder;
public Director(Builder builder) {
this.builder = builder;
}
public void construct(String color, String licensePlate, String brand) {
builder.buildColor(color);
builder.buildLicensePlate(licensePlate);
builder.buildBrand(brand);
}
}
Builder builder = new CarBuilder();
Director director =new Director(builder);
director.construct("red", "A88888", "Ferrari");
System.out.println(builder.build().toString());
public class Ferrari {
private String color;
private String licensePlate;
private String brand;
public void setColor(String color) {
this.color = color;
}
public void setLicensePlate(String licensePlate) {
this.licensePlate = licensePlate;
}
public void setBrand(String brand) {
this.brand = brand;
}
public static class Builder{
Ferrari ferrari;
public Builder(){
ferrari = new Ferrari();
}
public Builder setColor(String color){
ferrari.setColor(color);
return this;
}
public Builder setLicensePlate(String licensePlate) {
ferrari.setLicensePlate(licensePlate);
return this;
}
public Builder setBrand(String brand){
ferrari.setBrand(brand);
return this;
}
public Ferrari build(){
return ferrari;
}
}
@Override
public String toString() {
return "Car{" +
"color='" + color + '\'' +
", licensePlate='" + licensePlate + '\'' +
", brand='" + brand + '\'' +
'}';
}
}
// Call Chaining
Ferrari ferrari = new Ferrari.Builder()
.setBrand("Ferrari")
.setColor("Red")
.setLicensePlate("B88888")
.build();
System.out.println(ferrari.toString());