]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/types/Order.java
[XVSM]Some NPE fixes, GUI fixes
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / types / Order.java
1 package at.ac.tuwien.sbc.valesriegler.types;
2
3 import at.ac.tuwien.sbc.valesriegler.common.HasId;
4 import at.ac.tuwien.sbc.valesriegler.common.Util;
5 import org.mozartspaces.capi3.Queryable;
6
7 import java.io.Serializable;
8 import java.util.ArrayList;
9 import java.util.List;
10
11 /**
12  * Object denotes a Group's interest in pizzas and the state of the pizzas
13  * themselves.
14  * 
15  * @author jan
16  * 
17  */
18 @Queryable(autoindex = true)
19 public class Order implements Serializable, HasId {
20         private static int idNext = 0;
21         private Integer id;
22         private Integer groupId;
23         private OrderStatus status;
24
25         private List<PizzaOrder> orderedPizzas;
26         private List<Pizza> cookedPizzas;
27
28         // this is necessary so that i can make a xvsm linda selection on it
29         private Integer numberOfPizzas;
30
31         public Order() {
32         }
33
34         public Order(int groupId, List<PizzaOrder> orderedPizzas) {
35                 // TODO don't set the id here but let the waiter set it
36                 // genId();
37                 this.groupId = groupId;
38                 status = OrderStatus.NEW;
39                 this.orderedPizzas = orderedPizzas;
40                 cookedPizzas = new ArrayList<Pizza>();
41         }
42
43         public Order(HasId group, List<PizzaOrder> orderedPizzas) {
44                 // TODO don't set the id here but let the waiter set it
45                 // genId();
46                 groupId = group.getId();
47                 status = OrderStatus.NEW;
48                 this.orderedPizzas = orderedPizzas;
49                 cookedPizzas = new ArrayList<Pizza>();
50         }
51
52         public void addCookedPizza(Pizza pizza) {
53                 cookedPizzas.add(pizza);
54         }
55
56         public List<Pizza> getCookedPizzas() {
57                 return cookedPizzas;
58         }
59
60         public int getGroupId() {
61                 return groupId;
62         }
63
64         public int getNumberOfPizzas() {
65                 return Util.getIntSafe(numberOfPizzas);
66         }
67
68         public void setNumberOfPizzas(Integer numberOfPizzas) {
69                 this.numberOfPizzas = numberOfPizzas;
70         }
71
72         public void setId(Integer id) {
73                 this.id = id;
74         }
75         public void genId() {
76                 id = ++idNext;
77         }
78
79         @Override
80         public int getId() {
81                 return Util.getIntSafe(id);
82         }
83
84         public List<PizzaOrder> getOrderedPizzas() {
85                 return orderedPizzas;
86         }
87
88         public OrderStatus getStatus() {
89                 return status;
90         }
91
92         public void setCookedPizzas(List<Pizza> cookedPizzas) {
93                 this.cookedPizzas = cookedPizzas;
94         }
95
96         public void setGroupId(int groupId) {
97                 this.groupId = groupId;
98         }
99
100         public void setOrderedPizzas(List<PizzaOrder> orderedPizzas) {
101                 this.orderedPizzas = orderedPizzas;
102         }
103
104         public void setStatus(OrderStatus status) {
105                 this.status = status;
106         }
107
108         @Override
109         public String toString() {
110                 return "Order [id=" + id + ", groupId=" + groupId + ", status=" + status + ", orderedPizzas=" + orderedPizzas
111                                 + ", cookedPizzas=" + cookedPizzas + "]";
112         }
113 }