package net.rrm.ehour.ui.common.panel.entryselector; import org.apache.wicket.util.io.IClusterable; import java.io.Serializable; import java.util.List; public class EntrySelectorData implements IClusterable { private final List<Header> columnHeaders; private final List<EntrySelectorRow> rows; public EntrySelectorData(List<Header> columnHeaders, List<EntrySelectorRow> rows) { this.columnHeaders = columnHeaders; this.rows = rows; } public List<Header> getColumnHeaders() { return columnHeaders; } public List<EntrySelectorRow> getRows() { return rows; } public static class EntrySelectorRow implements IClusterable { private List<? extends Serializable> cells; private Serializable id; private final boolean active; public EntrySelectorRow(List<? extends Serializable> cells, Serializable id) { this(cells, id, true); } public EntrySelectorRow(List<? extends Serializable> cells, Serializable id, boolean active) { this.cells = cells; this.id = id; this.active = active; } public List<? extends Serializable> getCells() { return cells; } public boolean isActive() { return active; } public Serializable getId() { return id; } } public static class Header implements IClusterable { private final ColumnType columnType; private final String resourceLabel; public Header(String resourceLabel) { this(resourceLabel, ColumnType.TEXT); } public Header(String resourceLabel, ColumnType columnType) { this.columnType = columnType; this.resourceLabel = resourceLabel; } public ColumnType getColumnType() { return columnType; } public String getResourceLabel() { return resourceLabel; } } public static enum ColumnType { TEXT, NUMERIC, DATE, HTML } }