/*
* CPSAdvancedTableFormat.java - created: Dec 9, 2009
* Copyright (c) **YEAR** Expected hash. user evaluated instead to freemarker.template.SimpleScalar on line 5, column 43 in Templates/Licenses/preamble.txt.
*
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package CPS.UI.Modules;
import CPS.Data.CPSRecord;
import ca.odell.glazedlists.gui.AdvancedTableFormat;
import java.util.Comparator;
public abstract class CPSAdvancedTableFormat<T> implements AdvancedTableFormat<T> {
/** @return true is the column at index colNum should be displayed by default, false otherwise */
public abstract boolean isDefaultColumn( int colNum );
/** @return the column number which is the default column to sort on */
public abstract int getDefaultSortColumn();
/** @return the property number for the data displayed in column at index colNum */
public abstract int getPropNumForColumn( int colNum );
public abstract T getBlankRecord();
public String getColumnName( int colNum ) {
return ((CPSRecord) getBlankRecord()).getDatum( getPropNumForColumn( colNum ) ).getName();
}
public Class getColumnClass( int colNum ) {
return getColumnValue( getBlankRecord(), colNum ).getClass();
}
public Comparator getColumnComparator( int colNum ) {
// return GlazedLists.comparableComparator();
return new CPSComparator( getPropNumForColumn( colNum ) );
}
}