]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/PizzasOfOrderModel.java
Show orders in PizzeriaGUI
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / pizzeria / gui / tablemodels / PizzasOfOrderModel.java
1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
2
3 import java.util.List;
4
5 import at.ac.tuwien.sbc.valesriegler.common.TableModel;
6 import at.ac.tuwien.sbc.valesriegler.types.Order;
7 import at.ac.tuwien.sbc.valesriegler.types.PizzaOrder;
8
9 public class PizzasOfOrderModel extends TableModel<PizzaOrder> {
10         private static final String TYPE = "Type";
11         private static final String STATUS = "Status";
12         private static final String COOK = "Cook";
13
14         private static final String[] COLUMNS = new String[] { TYPE, STATUS, COOK };
15
16         private Order currentOrder;
17
18         public void setCurrentOrder(Order currentOrder) {
19                 this.currentOrder = currentOrder;
20
21                 fireTableDataChanged();
22         }
23
24         @Override
25         public Object getValueAt(int rowIndex, int columnIndex) {
26                 if (rowIndex > 0)
27                         return null;
28
29                 List<PizzaOrder> pizzaOrders = currentOrder.getOrderedPizzas();
30                 if (pizzaOrders == null)
31                         return null;
32
33                 PizzaOrder pizzaOrder = pizzaOrders.get(rowIndex);
34                 String wantedColumn = COLUMNS[columnIndex];
35                 switch (wantedColumn) {
36                 case TYPE:
37                         return pizzaOrder.getPizzaType();
38                 case STATUS:
39                         return pizzaOrder.getStatus();
40                 case COOK:
41                         return pizzaOrder.getCookId();
42                 default:
43                         throw new RuntimeException(UNHANDLEDCOLUMN);
44                 }
45         }
46
47         @Override
48         protected String[] getColumns() {
49                 return COLUMNS;
50         }
51
52         @Override
53         public int getRowCount() {
54                 return currentOrder == null ? 0 : 1;
55         }
56
57 }