package org.activityinfo.geoadmin;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import org.activityinfo.geoadmin.model.AdminEntity;
/**
* The TableModel for a simple list of existing Administrative entities.
*
*/
public class AdminTableModel extends AbstractTableModel {
private List<AdminEntity> units;
private static final String[] COLUMNS = new String[] { "ID", "Code", "Name" };
private static final Class[] COLUMN_TYPE = new Class[] { Integer.class, String.class, String.class };
public AdminTableModel(List<AdminEntity> units) {
super();
this.units = units;
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return COLUMN_TYPE[columnIndex];
}
@Override
public String getColumnName(int columnIndex) {
return COLUMNS[columnIndex];
}
@Override
public int getColumnCount() {
return COLUMNS.length;
}
@Override
public int getRowCount() {
return units.size();
}
@Override
public Object getValueAt(int rowIndex, int colIndex) {
switch (colIndex) {
case 0:
return units.get(rowIndex).getId();
case 1:
return units.get(rowIndex).getCode();
case 2:
return units.get(rowIndex).getName();
}
throw new UnsupportedOperationException();
}
}