Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.algorithmsandme.design.patterns;
- import java.util.Date;
- /**
- * Created by Jitendra on 12-07-2015.
- */
- public class SampleFoodBuilder {
- private final Date manufacturingDate;
- private final int batchNumber;
- private final int calories;
- private final int fat;
- private final int sodium;
- private final int carbohydrate;
- //builder class
- public static class Builder {
- // Required parameters
- private final Date manufacturingDate;
- private final int batchNumber;
- // Optional parameters - initialized to default values
- private int calories = 0;
- private int fat = 0;
- private int carbohydrate = 0;
- private int sodium = 0;
- public Builder(Date manufacturingDate, int batchNumber) {
- this.manufacturingDate = manufacturingDate;
- this.batchNumber = batchNumber;
- }
- public Builder calories(int val)
- { calories = val; return this; }
- public Builder fat(int val)
- { fat = val; return this; }
- public Builder carbohydrate(int val)
- { carbohydrate = val; return this; }
- public Builder sodium(int val)
- { sodium = val; return this; }
- public SampleFoodBuilder build() {
- return new SampleFoodBuilder(this);
- }
- }
- private SampleFoodBuilder(Builder builder) {
- manufacturingDate = builder.manufacturingDate;
- batchNumber = builder.batchNumber;
- calories = builder.calories;
- fat = builder.fat;
- sodium = builder.sodium;
- carbohydrate = builder.carbohydrate;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement