]> git.somenet.org - pub/jan/sbc.git/blob - src/main/java/at/ac/tuwien/sbc/valesriegler/pizzeria/gui/tablemodels/GroupsOverviewModel.java
XVSMConnector refactoring
[pub/jan/sbc.git] / src / main / java / at / ac / tuwien / sbc / valesriegler / pizzeria / gui / tablemodels / GroupsOverviewModel.java
1 package at.ac.tuwien.sbc.valesriegler.pizzeria.gui.tablemodels;
2
3 import java.util.ArrayList;
4 import java.util.Iterator;
5 import java.util.List;
6
7 import at.ac.tuwien.sbc.valesriegler.common.TableModel;
8 import at.ac.tuwien.sbc.valesriegler.types.GroupData;
9 import at.ac.tuwien.sbc.valesriegler.types.GroupState;
10
11 public class GroupsOverviewModel extends TableModel<GroupData> {
12         private static final String ID = "ID";
13         private static final String SIZE = "Size";
14
15         private static final String[] COLUMNS = new String[] { ID, SIZE };
16
17         @Override
18         protected String[] getColumns() {
19                 return COLUMNS;
20         }
21
22         @Override
23         public Object getValueAt(int rowIndex, int columnIndex) {
24                 List<GroupData> values = new ArrayList<>(items.values());
25                 Iterator<GroupData> it = values.iterator();
26                 while (it.hasNext()) {
27                         GroupData groupData = it.next();
28                         // Show only the waiting groups!
29                         if(groupData.getState() != GroupState.WAITING) {
30                                 it.remove();
31                         }
32                 }
33                 GroupData group = values.get(rowIndex);
34                 String wantedColumn = COLUMNS[columnIndex];
35                 switch (wantedColumn) {
36                 case ID:
37                         return group.getId();
38                 case SIZE:
39                         return group.getSize();
40                 default:
41                         throw new RuntimeException(UNHANDLEDCOLUMN);
42                 }
43         }
44
45 }