@Override public void modelStructureChanged() { setSortKey(null); }
@Override public void setSortKeys(List<? extends SortKey> keys) { switch (keys.size()) { case 0: setSortKey(null); break; case 1: setSortKey(keys.get(0)); break; default: throw new IllegalArgumentException("Only one column can be sorted"); } }
@Override public void toggleSortOrder(int column) { SortKey newSortKey; if (isSortable(column)) { SortOrder newOrder = sortkey == null || sortkey.getColumn() != column || sortkey.getSortOrder() != SortOrder.ASCENDING ? SortOrder.ASCENDING : SortOrder.DESCENDING; newSortKey = new SortKey(column, newOrder); } else { newSortKey = null; } setSortKey(newSortKey); }