1 package at.ac.tuwien.sbc.valesriegler.common;
3 import java.util.ArrayList;
4 import java.util.Collections;
7 import javax.swing.table.AbstractTableModel;
10 * Common base class of table models used in Group GUI and Pizzeria GUI.
12 * @author Gregor Riegler <gregor DOT riegler AT gmail DOT com>
15 public abstract class TableModel<Item> extends AbstractTableModel {
16 protected static final String UNHANDLEDCOLUMN = "Unhandled column";
18 protected final List<Item> items = Collections.synchronizedList(new ArrayList<Item>());
20 public void addItems(List<Item> newItems) {
21 items.addAll(newItems);
23 fireTableDataChanged();
26 public void setItems(List<Item> newItems) {
32 public int getRowCount() {
37 public String getColumnName(int column) {
38 return getColumns()[column];
42 public int getColumnCount() {
43 return getColumns().length;
46 protected abstract String[] getColumns();