package org.freehep.swing.table; import javax.swing.table.TableModel; /** * An interface to be implemented by table models which are sortable. * @see org.freehep.swing.table.TableSorter * @author Tony Johnson * @version $Id: SortableTableModel.java 10766 2007-06-02 17:29:04Z tonyj $ */ public interface SortableTableModel extends TableModel { public final static int UNSORTED = -1; /** * Sort the table model using the given column. Once this method * has been called the table model should reorder its rows so that * they are sorted using the given column. The table model should * generate appropriate change events to reflect any changes made * to the model as a result of the sort. If the table data is modified * after sort has been called, the table model should continue to sort * the data using the given column. * @param column The index of the column to sort on, or UNSORTED if no sort is necessary. * @param ascending If <CODE>true</CODE> sort in ascending order, else sort in descending order. */ void sort(int column, boolean ascending); public boolean isSortAscending(); /** * Returns the sort column, or <code>UNSORTED</code> if no sort currently in effect. */ public int getSortOnColumn(); }