From 9f9d9bd1726c366bfc3993d825eece4624a9c8fb Mon Sep 17 00:00:00 2001 From: Peter Hertkorn <peter.hertkorn@reutlingen-university.de> Date: Thu, 12 Nov 2020 21:38:51 +0100 Subject: [PATCH] Add classes for pizzeria ingredients --- src/pizzeria/PizzaTestDrive.java | 38 ++++++++++++++ src/pizzeria/ingredients/BlackOlives.java | 8 +++ src/pizzeria/ingredients/Cheese.java | 5 ++ src/pizzeria/ingredients/Clams.java | 5 ++ src/pizzeria/ingredients/Dough.java | 5 ++ src/pizzeria/ingredients/Eggplant.java | 8 +++ src/pizzeria/ingredients/FreshClams.java | 8 +++ src/pizzeria/ingredients/FrozenClams.java | 8 +++ src/pizzeria/ingredients/Garlic.java | 8 +++ src/pizzeria/ingredients/MarinaraSauce.java | 7 +++ .../ingredients/MozzarellaCheese.java | 8 +++ src/pizzeria/ingredients/Mushroom.java | 8 +++ src/pizzeria/ingredients/Onion.java | 8 +++ src/pizzeria/ingredients/ParmesanCheese.java | 8 +++ src/pizzeria/ingredients/Pepperoni.java | 5 ++ src/pizzeria/ingredients/PepperoniPizza.java | 17 +++++++ src/pizzeria/ingredients/PlumTomatoSauce.java | 7 +++ src/pizzeria/ingredients/RedPepper.java | 8 +++ src/pizzeria/ingredients/ReggianoCheese.java | 8 +++ src/pizzeria/ingredients/Sauce.java | 5 ++ src/pizzeria/ingredients/SlicedPepperoni.java | 8 +++ src/pizzeria/ingredients/Spinach.java | 8 +++ src/pizzeria/ingredients/ThickCrustDough.java | 7 +++ src/pizzeria/ingredients/ThinCrustDough.java | 7 +++ src/pizzeria/ingredients/Veggies.java | 5 ++ .../pizza/ChicagoStyleCheesePizza.java | 16 ++++++ src/pizzeria/pizza/ChicagoStyleClamPizza.java | 16 ++++++ .../pizza/ChicagoStylePepperoniPizza.java | 19 +++++++ .../pizza/ChicagoStyleVeggiePizza.java | 18 +++++++ src/pizzeria/pizza/NYStyleCheesePizza.java | 12 +++++ src/pizzeria/pizza/NYStyleClamPizza.java | 13 +++++ src/pizzeria/pizza/NYStylePepperoniPizza.java | 17 +++++++ src/pizzeria/pizza/NYStyleVeggiePizza.java | 16 ++++++ src/pizzeria/pizza/Pizza.java | 50 +++++++++++++++++++ src/pizzeria/store/ChicagoPizzaStore.java | 18 +++++++ src/pizzeria/store/NYPizzaStore.java | 19 +++++++ src/pizzeria/store/PizzaStore.java | 18 +++++++ src/readme.txt | 1 - 38 files changed, 449 insertions(+), 1 deletion(-) create mode 100644 src/pizzeria/PizzaTestDrive.java create mode 100644 src/pizzeria/ingredients/BlackOlives.java create mode 100644 src/pizzeria/ingredients/Cheese.java create mode 100644 src/pizzeria/ingredients/Clams.java create mode 100644 src/pizzeria/ingredients/Dough.java create mode 100644 src/pizzeria/ingredients/Eggplant.java create mode 100644 src/pizzeria/ingredients/FreshClams.java create mode 100644 src/pizzeria/ingredients/FrozenClams.java create mode 100644 src/pizzeria/ingredients/Garlic.java create mode 100644 src/pizzeria/ingredients/MarinaraSauce.java create mode 100644 src/pizzeria/ingredients/MozzarellaCheese.java create mode 100644 src/pizzeria/ingredients/Mushroom.java create mode 100644 src/pizzeria/ingredients/Onion.java create mode 100644 src/pizzeria/ingredients/ParmesanCheese.java create mode 100644 src/pizzeria/ingredients/Pepperoni.java create mode 100644 src/pizzeria/ingredients/PepperoniPizza.java create mode 100644 src/pizzeria/ingredients/PlumTomatoSauce.java create mode 100644 src/pizzeria/ingredients/RedPepper.java create mode 100644 src/pizzeria/ingredients/ReggianoCheese.java create mode 100644 src/pizzeria/ingredients/Sauce.java create mode 100644 src/pizzeria/ingredients/SlicedPepperoni.java create mode 100644 src/pizzeria/ingredients/Spinach.java create mode 100644 src/pizzeria/ingredients/ThickCrustDough.java create mode 100644 src/pizzeria/ingredients/ThinCrustDough.java create mode 100644 src/pizzeria/ingredients/Veggies.java create mode 100644 src/pizzeria/pizza/ChicagoStyleCheesePizza.java create mode 100644 src/pizzeria/pizza/ChicagoStyleClamPizza.java create mode 100644 src/pizzeria/pizza/ChicagoStylePepperoniPizza.java create mode 100644 src/pizzeria/pizza/ChicagoStyleVeggiePizza.java create mode 100644 src/pizzeria/pizza/NYStyleCheesePizza.java create mode 100644 src/pizzeria/pizza/NYStyleClamPizza.java create mode 100644 src/pizzeria/pizza/NYStylePepperoniPizza.java create mode 100644 src/pizzeria/pizza/NYStyleVeggiePizza.java create mode 100644 src/pizzeria/pizza/Pizza.java create mode 100644 src/pizzeria/store/ChicagoPizzaStore.java create mode 100644 src/pizzeria/store/NYPizzaStore.java create mode 100644 src/pizzeria/store/PizzaStore.java delete mode 100644 src/readme.txt diff --git a/src/pizzeria/PizzaTestDrive.java b/src/pizzeria/PizzaTestDrive.java new file mode 100644 index 0000000..803aabe --- /dev/null +++ b/src/pizzeria/PizzaTestDrive.java @@ -0,0 +1,38 @@ +package pizzeria; + +import pizzeria.pizza.Pizza; +import pizzeria.store.ChicagoPizzaStore; +import pizzeria.store.NYPizzaStore; +import pizzeria.store.PizzaStore; + +public class PizzaTestDrive { + + public static void main(String[] args) { + PizzaStore nyStore = new NYPizzaStore(); + PizzaStore chicagoStore = new ChicagoPizzaStore(); + + Pizza pizza = nyStore.orderPizza("cheese"); + System.out.println("Ethan ordered a " + pizza.getName() + "\n"); + + pizza = chicagoStore.orderPizza("cheese"); + System.out.println("Joel ordered a " + pizza.getName() + "\n"); + + pizza = nyStore.orderPizza("clam"); + System.out.println("Ethan ordered a " + pizza.getName() + "\n"); + + pizza = chicagoStore.orderPizza("clam"); + System.out.println("Joel ordered a " + pizza.getName() + "\n"); + + pizza = nyStore.orderPizza("pepperoni"); + System.out.println("Ethan ordered a " + pizza.getName() + "\n"); + + pizza = chicagoStore.orderPizza("pepperoni"); + System.out.println("Joel ordered a " + pizza.getName() + "\n"); + + pizza = nyStore.orderPizza("veggie"); + System.out.println("Ethan ordered a " + pizza.getName() + "\n"); + + pizza = chicagoStore.orderPizza("veggie"); + System.out.println("Joel ordered a " + pizza.getName() + "\n"); + } +} diff --git a/src/pizzeria/ingredients/BlackOlives.java b/src/pizzeria/ingredients/BlackOlives.java new file mode 100644 index 0000000..74d73d8 --- /dev/null +++ b/src/pizzeria/ingredients/BlackOlives.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class BlackOlives implements Veggies { + + public String toString() { + return "Black Olives"; + } +} diff --git a/src/pizzeria/ingredients/Cheese.java b/src/pizzeria/ingredients/Cheese.java new file mode 100644 index 0000000..286d72d --- /dev/null +++ b/src/pizzeria/ingredients/Cheese.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Cheese { + public String toString(); +} diff --git a/src/pizzeria/ingredients/Clams.java b/src/pizzeria/ingredients/Clams.java new file mode 100644 index 0000000..1acd9e0 --- /dev/null +++ b/src/pizzeria/ingredients/Clams.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Clams { + public String toString(); +} diff --git a/src/pizzeria/ingredients/Dough.java b/src/pizzeria/ingredients/Dough.java new file mode 100644 index 0000000..b97771a --- /dev/null +++ b/src/pizzeria/ingredients/Dough.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Dough { + public String toString(); +} diff --git a/src/pizzeria/ingredients/Eggplant.java b/src/pizzeria/ingredients/Eggplant.java new file mode 100644 index 0000000..c299523 --- /dev/null +++ b/src/pizzeria/ingredients/Eggplant.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class Eggplant implements Veggies { + + public String toString() { + return "Eggplant"; + } +} diff --git a/src/pizzeria/ingredients/FreshClams.java b/src/pizzeria/ingredients/FreshClams.java new file mode 100644 index 0000000..45f647a --- /dev/null +++ b/src/pizzeria/ingredients/FreshClams.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class FreshClams implements Clams { + + public String toString() { + return "Fresh Clams from Long Island Sound"; + } +} diff --git a/src/pizzeria/ingredients/FrozenClams.java b/src/pizzeria/ingredients/FrozenClams.java new file mode 100644 index 0000000..89459d9 --- /dev/null +++ b/src/pizzeria/ingredients/FrozenClams.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class FrozenClams implements Clams { + + public String toString() { + return "Frozen Clams from Chesapeake Bay"; + } +} diff --git a/src/pizzeria/ingredients/Garlic.java b/src/pizzeria/ingredients/Garlic.java new file mode 100644 index 0000000..a6cb087 --- /dev/null +++ b/src/pizzeria/ingredients/Garlic.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class Garlic implements Veggies { + + public String toString() { + return "Garlic"; + } +} diff --git a/src/pizzeria/ingredients/MarinaraSauce.java b/src/pizzeria/ingredients/MarinaraSauce.java new file mode 100644 index 0000000..5e660ed --- /dev/null +++ b/src/pizzeria/ingredients/MarinaraSauce.java @@ -0,0 +1,7 @@ +package pizzeria.ingredients; + +public class MarinaraSauce implements Sauce { + public String toString() { + return "Marinara Sauce"; + } +} diff --git a/src/pizzeria/ingredients/MozzarellaCheese.java b/src/pizzeria/ingredients/MozzarellaCheese.java new file mode 100644 index 0000000..eb62fa9 --- /dev/null +++ b/src/pizzeria/ingredients/MozzarellaCheese.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class MozzarellaCheese implements Cheese { + + public String toString() { + return "Shredded Mozzarella"; + } +} diff --git a/src/pizzeria/ingredients/Mushroom.java b/src/pizzeria/ingredients/Mushroom.java new file mode 100644 index 0000000..a79a5df --- /dev/null +++ b/src/pizzeria/ingredients/Mushroom.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class Mushroom implements Veggies { + + public String toString() { + return "Mushrooms"; + } +} diff --git a/src/pizzeria/ingredients/Onion.java b/src/pizzeria/ingredients/Onion.java new file mode 100644 index 0000000..2858be6 --- /dev/null +++ b/src/pizzeria/ingredients/Onion.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class Onion implements Veggies { + + public String toString() { + return "Onion"; + } +} diff --git a/src/pizzeria/ingredients/ParmesanCheese.java b/src/pizzeria/ingredients/ParmesanCheese.java new file mode 100644 index 0000000..7f67c67 --- /dev/null +++ b/src/pizzeria/ingredients/ParmesanCheese.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class ParmesanCheese implements Cheese { + + public String toString() { + return "Shredded Parmesan"; + } +} diff --git a/src/pizzeria/ingredients/Pepperoni.java b/src/pizzeria/ingredients/Pepperoni.java new file mode 100644 index 0000000..315d069 --- /dev/null +++ b/src/pizzeria/ingredients/Pepperoni.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Pepperoni { + public String toString(); +} diff --git a/src/pizzeria/ingredients/PepperoniPizza.java b/src/pizzeria/ingredients/PepperoniPizza.java new file mode 100644 index 0000000..9345487 --- /dev/null +++ b/src/pizzeria/ingredients/PepperoniPizza.java @@ -0,0 +1,17 @@ +package pizzeria.ingredients; + +public class PepperoniPizza extends Pizza { + + public PepperoniPizza(PizzaIngredientFactory ingredientFactory) { + this.ingredientFactory = ingredientFactory; + } + + void prepare() { + System.out.println("Preparing " + name); + dough = ingredientFactory.createDough(); + sauce = ingredientFactory.createSauce(); + cheese = ingredientFactory.createCheese(); + veggies = ingredientFactory.createVeggies(); + pepperoni = ingredientFactory.createPepperoni(); + } +} diff --git a/src/pizzeria/ingredients/PlumTomatoSauce.java b/src/pizzeria/ingredients/PlumTomatoSauce.java new file mode 100644 index 0000000..cf92466 --- /dev/null +++ b/src/pizzeria/ingredients/PlumTomatoSauce.java @@ -0,0 +1,7 @@ +package pizzeria.ingredients; + +public class PlumTomatoSauce implements Sauce { + public String toString() { + return "Tomato sauce with plum tomatoes"; + } +} diff --git a/src/pizzeria/ingredients/RedPepper.java b/src/pizzeria/ingredients/RedPepper.java new file mode 100644 index 0000000..0dd71d7 --- /dev/null +++ b/src/pizzeria/ingredients/RedPepper.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class RedPepper implements Veggies { + + public String toString() { + return "Red Pepper"; + } +} diff --git a/src/pizzeria/ingredients/ReggianoCheese.java b/src/pizzeria/ingredients/ReggianoCheese.java new file mode 100644 index 0000000..6a9349e --- /dev/null +++ b/src/pizzeria/ingredients/ReggianoCheese.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class ReggianoCheese implements Cheese { + + public String toString() { + return "Reggiano Cheese"; + } +} diff --git a/src/pizzeria/ingredients/Sauce.java b/src/pizzeria/ingredients/Sauce.java new file mode 100644 index 0000000..3e40c09 --- /dev/null +++ b/src/pizzeria/ingredients/Sauce.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Sauce { + public String toString(); +} diff --git a/src/pizzeria/ingredients/SlicedPepperoni.java b/src/pizzeria/ingredients/SlicedPepperoni.java new file mode 100644 index 0000000..656796d --- /dev/null +++ b/src/pizzeria/ingredients/SlicedPepperoni.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class SlicedPepperoni implements Pepperoni { + + public String toString() { + return "Sliced Pepperoni"; + } +} diff --git a/src/pizzeria/ingredients/Spinach.java b/src/pizzeria/ingredients/Spinach.java new file mode 100644 index 0000000..fd44c88 --- /dev/null +++ b/src/pizzeria/ingredients/Spinach.java @@ -0,0 +1,8 @@ +package pizzeria.ingredients; + +public class Spinach implements Veggies { + + public String toString() { + return "Spinach"; + } +} diff --git a/src/pizzeria/ingredients/ThickCrustDough.java b/src/pizzeria/ingredients/ThickCrustDough.java new file mode 100644 index 0000000..a712a31 --- /dev/null +++ b/src/pizzeria/ingredients/ThickCrustDough.java @@ -0,0 +1,7 @@ +package pizzeria.ingredients; + +public class ThickCrustDough implements Dough { + public String toString() { + return "ThickCrust style extra thick crust dough"; + } +} diff --git a/src/pizzeria/ingredients/ThinCrustDough.java b/src/pizzeria/ingredients/ThinCrustDough.java new file mode 100644 index 0000000..6fa03a4 --- /dev/null +++ b/src/pizzeria/ingredients/ThinCrustDough.java @@ -0,0 +1,7 @@ +package pizzeria.ingredients; + +public class ThinCrustDough implements Dough { + public String toString() { + return "Thin Crust Dough"; + } +} diff --git a/src/pizzeria/ingredients/Veggies.java b/src/pizzeria/ingredients/Veggies.java new file mode 100644 index 0000000..a8a45a7 --- /dev/null +++ b/src/pizzeria/ingredients/Veggies.java @@ -0,0 +1,5 @@ +package pizzeria.ingredients; + +public interface Veggies { + public String toString(); +} diff --git a/src/pizzeria/pizza/ChicagoStyleCheesePizza.java b/src/pizzeria/pizza/ChicagoStyleCheesePizza.java new file mode 100644 index 0000000..c37121c --- /dev/null +++ b/src/pizzeria/pizza/ChicagoStyleCheesePizza.java @@ -0,0 +1,16 @@ +package pizzeria.pizza; + +public class ChicagoStyleCheesePizza extends Pizza { + + public ChicagoStyleCheesePizza() { + name = "Chicago Style Deep Dish Cheese Pizza"; + dough = "Extra Thick Crust Dough"; + sauce = "Plum Tomato Sauce"; + + toppings.add("Shredded Mozzarella Cheese"); + } + + public void cut() { + System.out.println("Cutting the pizza into square slices"); + } +} diff --git a/src/pizzeria/pizza/ChicagoStyleClamPizza.java b/src/pizzeria/pizza/ChicagoStyleClamPizza.java new file mode 100644 index 0000000..c5bae96 --- /dev/null +++ b/src/pizzeria/pizza/ChicagoStyleClamPizza.java @@ -0,0 +1,16 @@ +package pizzeria.pizza; + +public class ChicagoStyleClamPizza extends Pizza { + public ChicagoStyleClamPizza() { + name = "Chicago Style Clam Pizza"; + dough = "Extra Thick Crust Dough"; + sauce = "Plum Tomato Sauce"; + + toppings.add("Shredded Mozzarella Cheese"); + toppings.add("Frozen Clams from Chesapeake Bay"); + } + + public void cut() { + System.out.println("Cutting the pizza into square slices"); + } +} diff --git a/src/pizzeria/pizza/ChicagoStylePepperoniPizza.java b/src/pizzeria/pizza/ChicagoStylePepperoniPizza.java new file mode 100644 index 0000000..ae37b1f --- /dev/null +++ b/src/pizzeria/pizza/ChicagoStylePepperoniPizza.java @@ -0,0 +1,19 @@ +package pizzeria.pizza; + +public class ChicagoStylePepperoniPizza extends Pizza { + public ChicagoStylePepperoniPizza() { + name = "Chicago Style Pepperoni Pizza"; + dough = "Extra Thick Crust Dough"; + sauce = "Plum Tomato Sauce"; + + toppings.add("Shredded Mozzarella Cheese"); + toppings.add("Black Olives"); + toppings.add("Spinach"); + toppings.add("Eggplant"); + toppings.add("Sliced Pepperoni"); + } + + public void cut() { + System.out.println("Cutting the pizza into square slices"); + } +} diff --git a/src/pizzeria/pizza/ChicagoStyleVeggiePizza.java b/src/pizzeria/pizza/ChicagoStyleVeggiePizza.java new file mode 100644 index 0000000..546b168 --- /dev/null +++ b/src/pizzeria/pizza/ChicagoStyleVeggiePizza.java @@ -0,0 +1,18 @@ +package pizzeria.pizza; + +public class ChicagoStyleVeggiePizza extends Pizza { + public ChicagoStyleVeggiePizza() { + name = "Chicago Deep Dish Veggie Pizza"; + dough = "Extra Thick Crust Dough"; + sauce = "Plum Tomato Sauce"; + + toppings.add("Shredded Mozzarella Cheese"); + toppings.add("Black Olives"); + toppings.add("Spinach"); + toppings.add("Eggplant"); + } + + public void cut() { + System.out.println("Cutting the pizza into square slices"); + } +} diff --git a/src/pizzeria/pizza/NYStyleCheesePizza.java b/src/pizzeria/pizza/NYStyleCheesePizza.java new file mode 100644 index 0000000..ac5055d --- /dev/null +++ b/src/pizzeria/pizza/NYStyleCheesePizza.java @@ -0,0 +1,12 @@ +package pizzeria.pizza; + +public class NYStyleCheesePizza extends Pizza { + + public NYStyleCheesePizza() { + name = "NY Style Sauce and Cheese Pizza"; + dough = "Thin Crust Dough"; + sauce = "Marinara Sauce"; + + toppings.add("Grated Reggiano Cheese"); + } +} diff --git a/src/pizzeria/pizza/NYStyleClamPizza.java b/src/pizzeria/pizza/NYStyleClamPizza.java new file mode 100644 index 0000000..b6635b0 --- /dev/null +++ b/src/pizzeria/pizza/NYStyleClamPizza.java @@ -0,0 +1,13 @@ +package pizzeria.pizza; + +public class NYStyleClamPizza extends Pizza { + + public NYStyleClamPizza() { + name = "NY Style Clam Pizza"; + dough = "Thin Crust Dough"; + sauce = "Marinara Sauce"; + + toppings.add("Grated Reggiano Cheese"); + toppings.add("Fresh Clams from Long Island Sound"); + } +} diff --git a/src/pizzeria/pizza/NYStylePepperoniPizza.java b/src/pizzeria/pizza/NYStylePepperoniPizza.java new file mode 100644 index 0000000..f036f68 --- /dev/null +++ b/src/pizzeria/pizza/NYStylePepperoniPizza.java @@ -0,0 +1,17 @@ +package pizzeria.pizza; + +public class NYStylePepperoniPizza extends Pizza { + + public NYStylePepperoniPizza() { + name = "NY Style Pepperoni Pizza"; + dough = "Thin Crust Dough"; + sauce = "Marinara Sauce"; + + toppings.add("Grated Reggiano Cheese"); + toppings.add("Sliced Pepperoni"); + toppings.add("Garlic"); + toppings.add("Onion"); + toppings.add("Mushrooms"); + toppings.add("Red Pepper"); + } +} diff --git a/src/pizzeria/pizza/NYStyleVeggiePizza.java b/src/pizzeria/pizza/NYStyleVeggiePizza.java new file mode 100644 index 0000000..e3d5247 --- /dev/null +++ b/src/pizzeria/pizza/NYStyleVeggiePizza.java @@ -0,0 +1,16 @@ +package pizzeria.pizza; + +public class NYStyleVeggiePizza extends Pizza { + + public NYStyleVeggiePizza() { + name = "NY Style Veggie Pizza"; + dough = "Thin Crust Dough"; + sauce = "Marinara Sauce"; + + toppings.add("Grated Reggiano Cheese"); + toppings.add("Garlic"); + toppings.add("Onion"); + toppings.add("Mushrooms"); + toppings.add("Red Pepper"); + } +} diff --git a/src/pizzeria/pizza/Pizza.java b/src/pizzeria/pizza/Pizza.java new file mode 100644 index 0000000..191fc04 --- /dev/null +++ b/src/pizzeria/pizza/Pizza.java @@ -0,0 +1,50 @@ +package pizzeria.pizza; + +import java.util.ArrayList; + +public abstract class Pizza { + String name; + String dough; + String sauce; + ArrayList<String> toppings = new ArrayList<String>(); + + public void prepare() { + System.out.println("Preparing " + name); + System.out.println("Tossing dough..."); + System.out.println("Adding sauce..."); + System.out.println("Adding toppings: "); + for (int i = 0; i < toppings.size(); i++) { + System.out.println(" " + toppings.get(i)); + } + } + + public void bake() { + System.out.println("Bake for 25 minutes at 350"); + } + + public void cut() { + System.out.println("Cutting the pizza into diagonal slices"); + } + + public void box() { + System.out.println("Place pizza in official PizzaStore box"); + } + + public String getName() { + return name; + } + + public String toString() { + StringBuffer display = new StringBuffer(); + display.append("---- " + name + " ----\n"); + display.append(dough + "\n"); + display.append(sauce + "\n"); + for (int i = 0; i < toppings.size(); i++) { + display.append((String )toppings.get(i) + "\n"); + } + return display.toString(); + } +} + + + diff --git a/src/pizzeria/store/ChicagoPizzaStore.java b/src/pizzeria/store/ChicagoPizzaStore.java new file mode 100644 index 0000000..b3518a9 --- /dev/null +++ b/src/pizzeria/store/ChicagoPizzaStore.java @@ -0,0 +1,18 @@ +package pizzeria.store; + +import pizzeria.pizza.*; + +public class ChicagoPizzaStore extends PizzaStore { + + Pizza createPizza(String item) { + if (item.equals("cheese")) { + return new ChicagoStyleCheesePizza(); + } else if (item.equals("veggie")) { + return new ChicagoStyleVeggiePizza(); + } else if (item.equals("clam")) { + return new ChicagoStyleClamPizza(); + } else if (item.equals("pepperoni")) { + return new ChicagoStylePepperoniPizza(); + } else return null; + } +} diff --git a/src/pizzeria/store/NYPizzaStore.java b/src/pizzeria/store/NYPizzaStore.java new file mode 100644 index 0000000..301ffcb --- /dev/null +++ b/src/pizzeria/store/NYPizzaStore.java @@ -0,0 +1,19 @@ +package pizzeria.store; + +import pizzeria.pizza.*; + +public class NYPizzaStore extends PizzaStore { + + Pizza createPizza(String item) { + if (item.equals("cheese")) { + return new NYStyleCheesePizza(); + } else if (item.equals("veggie")) { + return new NYStyleVeggiePizza(); + } else if (item.equals("clam")) { + return new NYStyleClamPizza(); + } else if (item.equals("pepperoni")) { + return new NYStylePepperoniPizza(); + } else return null; + } + +} diff --git a/src/pizzeria/store/PizzaStore.java b/src/pizzeria/store/PizzaStore.java new file mode 100644 index 0000000..c683329 --- /dev/null +++ b/src/pizzeria/store/PizzaStore.java @@ -0,0 +1,18 @@ +package pizzeria.store; + +import pizzeria.pizza.Pizza; + +public abstract class PizzaStore { + + abstract Pizza createPizza(String item); + + public final Pizza orderPizza(String type) { + Pizza pizza = createPizza(type); + System.out.println("--- Making a " + pizza.getName() + " ---"); + pizza.prepare(); + pizza.bake(); + pizza.cut(); + pizza.box(); + return pizza; + } +} diff --git a/src/readme.txt b/src/readme.txt deleted file mode 100644 index 1724e3d..0000000 --- a/src/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Source Code für die Beispiele und Übungsaufgaben \ No newline at end of file -- GitLab