1 package at.ac.tuwien.sbc.valesriegler.types;
3 import java.io.Serializable;
4 import java.util.ArrayList;
7 import org.mozartspaces.capi3.Queryable;
9 import at.ac.tuwien.sbc.valesriegler.common.HasId;
10 import at.ac.tuwien.sbc.valesriegler.common.Util;
11 import at.ac.tuwien.sbc.valesriegler.group.Group;
14 * Object denotes a Group's interest in pizzas and the state of the pizzas
20 @Queryable(autoindex = true)
21 public class Order implements Serializable, HasId {
22 private static int idNext = 0;
24 private Integer groupId;
25 private OrderStatus status;
27 private List<PizzaOrder> orderedPizzas;
28 private List<Pizza> cookedPizzas;
30 // this is necessary so that i can make a xvsm linda selection on it
31 private Integer numberOfPizzas;
36 public Order(int groupId, List<PizzaOrder> orderedPizzas) {
37 // TODO don't set the id here but let the waiter set it
39 this.groupId = groupId;
40 status = OrderStatus.NEW;
41 this.orderedPizzas = orderedPizzas;
42 cookedPizzas = new ArrayList<Pizza>();
45 public Order(HasId group, List<PizzaOrder> orderedPizzas) {
46 // TODO don't set the id here but let the waiter set it
48 groupId = group.getId();
49 status = OrderStatus.NEW;
50 this.orderedPizzas = orderedPizzas;
51 cookedPizzas = new ArrayList<Pizza>();
54 public List<Pizza> getCookedPizzas() {
58 public int getGroupId() {
62 public int getNumberOfPizzas() {
63 return Util.getIntSafe(numberOfPizzas);
66 public void setNumberOfPizzas(Integer numberOfPizzas) {
67 this.numberOfPizzas = numberOfPizzas;
70 public void setId(Integer id) {
79 public List<PizzaOrder> getOrderedPizzas() {
83 public OrderStatus getStatus() {
87 public void setCookedPizzas(List<Pizza> cookedPizzas) {
88 this.cookedPizzas = cookedPizzas;
91 public void setGroupId(int groupId) {
92 this.groupId = groupId;
95 public void setOrderedPizzas(List<PizzaOrder> orderedPizzas) {
96 this.orderedPizzas = orderedPizzas;
99 public void setStatus(OrderStatus status) {
100 this.status = status;
104 public String toString() {
105 return "Order [id=" + id + ", groupId=" + groupId + ", status=" + status + ", orderedPizzas=" + orderedPizzas
106 + ", cookedPizzas=" + cookedPizzas + "]";