package polly.rx.httpv2; import java.util.Date; import java.util.AbstractList; import java.util.List; import polly.rx.MSG; import polly.rx.core.orion.Orion; import polly.rx.core.orion.model.Portal; import de.skuzzle.polly.http.api.HttpEvent; import de.skuzzle.polly.sdk.httpv2.html.AbstractHTMLTableModel; public class PortalModel extends AbstractHTMLTableModel<Portal> { private final static String[] COLUMNS = MSG.htmlPortalColumns.split(";"); //$NON-NLS-1$ @Override public String getHeader(int column) { return COLUMNS[column]; } @Override public int getColumnCount() { return COLUMNS.length; } @Override public boolean isFilterable(int column) { return true; } @Override public boolean isSortable(int column) { return true; } @Override public Object getCellValue(int column, Portal element) { switch (column) { case 0: return element.getType().toString(); case 1: return element.getOwnerName(); case 2: return element.getOwnerClan(); case 3: return element.getSector().toString(); case 4: return element.getDate(); default: return ""; //$NON-NLS-1$ } } @Override public Class<?> getColumnClass(int column) { switch (column) { case 0: case 1: case 2: case 3: return String.class; case 4: return Date.class; } return super.getColumnClass(column); } @Override public List<Portal> getData(HttpEvent e) { final List<? extends Portal> portals = Orion.INSTANCE.getPortalProvider().getAllPortals(); return new AbstractList<Portal>() { @Override public Portal get(int i) { return portals.get(i); } @Override public int size() { return portals.size(); } }; } }