package polly.rx.httpv2; import java.util.Date; import java.util.List; import polly.rx.MSG; import polly.rx.core.orion.QuadrantProvider; import polly.rx.core.orion.http.OrionController; import polly.rx.core.orion.model.Sector; import de.skuzzle.polly.http.api.HttpEvent; import de.skuzzle.polly.sdk.httpv2.html.AbstractHTMLTableModel; public class SectorTableModel extends AbstractHTMLTableModel<Sector> { private static final String[] HEADERS = MSG.htmlSectorsColumns.split(";"); //$NON-NLS-1$ private final QuadrantProvider quadProvider; public SectorTableModel(QuadrantProvider quadProvider) { this.quadProvider = quadProvider; requirePermission(OrionController.SEARCH_SECTORS_PERMISSION); } @Override public String getHeader(int column) { return HEADERS[column]; } @Override public int getColumnCount() { return HEADERS.length; } @Override public boolean isFilterable(int column) { return true; } @Override public boolean isSortable(int column) { return true; } @Override public Class<?> getColumnClass(int column) { switch (column) { case 0: return Date.class; case 2: case 3: case 4: case 5: case 6: return Integer.class; } return super.getColumnClass(column); } @Override public Object getCellValue(int column, Sector element) { // Quadrant;X;Y;Angreifer;Verteidiger;Sektor Wache;Typ switch (column) { case 0: return element.getDate(); case 1: return element.getQuadName(); case 2: return element.getX(); case 3: return element.getY(); case 4: return element.getAttackerBonus(); case 5: return element.getDefenderBonus(); case 6: return element.getSectorGuardBonus(); case 7: return element.getType(); } return ""; //$NON-NLS-1$ } @Override public List<Sector> getData(HttpEvent e) { return this.quadProvider.getAllSectors(); } }