Advertisement
Guest User

Untitled

a guest
Jul 31st, 2015
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. package com.algorithmsandme.design.patterns;
  2.  
  3. import java.util.Date;
  4.  
  5. /**
  6. * Created by Jitendra on 12-07-2015.
  7. */
  8. public class SampleFoodBuilder {
  9. private final Date manufacturingDate;
  10. private final int batchNumber;
  11. private final int calories;
  12. private final int fat;
  13. private final int sodium;
  14. private final int carbohydrate;
  15. //builder class
  16. public static class Builder {
  17. // Required parameters
  18. private final Date manufacturingDate;
  19. private final int batchNumber;
  20. // Optional parameters - initialized to default values
  21. private int calories = 0;
  22. private int fat = 0;
  23. private int carbohydrate = 0;
  24. private int sodium = 0;
  25. public Builder(Date manufacturingDate, int batchNumber) {
  26. this.manufacturingDate = manufacturingDate;
  27. this.batchNumber = batchNumber;
  28. }
  29. public Builder calories(int val)
  30. { calories = val; return this; }
  31. public Builder fat(int val)
  32. { fat = val; return this; }
  33. public Builder carbohydrate(int val)
  34. { carbohydrate = val; return this; }
  35. public Builder sodium(int val)
  36. { sodium = val; return this; }
  37. public SampleFoodBuilder build() {
  38. return new SampleFoodBuilder(this);
  39. }
  40. }
  41. private SampleFoodBuilder(Builder builder) {
  42. manufacturingDate = builder.manufacturingDate;
  43. batchNumber = builder.batchNumber;
  44. calories = builder.calories;
  45. fat = builder.fat;
  46. sodium = builder.sodium;
  47. carbohydrate = builder.carbohydrate;
  48. }
  49. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement