public class Pizza
{
private int size;
private String cheese;
private String meat;
public static class Builder
{
private final int size;
private String cheese;
private String meat;
public Builder( int size )
{
this.size = size;
}
public Builder cheese( String value )
{
this.cheese = value;
return this;
}
public Builder meat( String value )
{
this.meat = value;
return this;
}
public Pizza build()
{
return new Pizza( this );
}
}
private Pizza( Builder builder )
{
this.size = builder.size;
this.cheese = builder.cheese;
this.meat = builder.meat;
}
public static void main( String[] args )
{
Pizza pizza = new Pizza.Builder( 14 ).cheese( "mozarella" ).meat( "sausage" ).build();
}
} // end class