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