]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/types/Pizza.java
Solve some space concurrency bugs
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / types / Pizza.java
1 package at.ac.tuwien.sbc.valesriegler.types;
2
3 import java.io.Serializable;
4
5 import at.ac.tuwien.sbc.valesriegler.common.HasId;
6 import at.ac.tuwien.sbc.valesriegler.common.Util;
7 import at.ac.tuwien.sbc.valesriegler.waiter.Waiter;
8
9 /**
10  * this is a PIZZA! omnomnomnom
11  * 
12  * @author jan
13  * 
14  */
15 public class Pizza extends PizzaOrder implements Serializable {
16         public Waiter deliveryAgent;
17         
18         /**
19          * Yes that's funny! the pizza has a field idOfOrder although PizzaOrder already has a field orderId!
20          * The reason: The space linda selection is a little bit limited. when I look for a template pizza with orderId set the
21          * space gives me ALL pizzas. The reason obviously is that it can't really include the field of the superclass in the search.
22          * So we must have an idOfOrder field in the pizza and not only in the PizzaOrder for the time being.. ^^
23          */
24         private Integer idOfOrder;
25
26         // private Person consumer;
27
28         private Pizza(int id, PizzaType type, int cookId, int orderId) {
29                 super(id);
30                 this.id = id;
31                 this.pizzaType = type;
32                 this.cookId = cookId;
33                 this.idOfOrder = orderId;
34         }
35
36         public Pizza() {
37                 super();
38         }
39
40         public static Pizza createPizzaFromPizzaOrder(PizzaOrder pizzaorder, int cookId) {
41                 return new Pizza(pizzaorder.getId(), pizzaorder.getPizzaType(), cookId, pizzaorder.getOrderId());
42         }
43
44         @Override
45         public String toString() {
46                 return "Pizza [deliveryAgent=" + deliveryAgent + ", id=" + id
47                                 + ", orderId=" + orderId + ", pizzaType=" + pizzaType
48                                 + ", status=" + status + ", cookId=" + cookId + "]";
49         }
50         
51         @Override 
52         public int getOrderId() {
53                 return getIdOfOrder();
54         };
55         
56         @Override
57         public void setOrderId(Integer orderId) {
58                 this.idOfOrder = orderId;
59         };
60
61         public int getIdOfOrder() {
62                 return Util.getIntSafe(idOfOrder);
63         }
64
65         public void setIdOfOrder(Integer idOfOrder) {
66                 this.idOfOrder = idOfOrder;
67         }
68
69
70
71
72 }