info.rolandkrueger.roklib.util.tables.filtertable
Class SortableFilterableTableDataModel<T,H extends ITableDataColumnHeader>

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by info.rolandkrueger.roklib.util.tables.filtertable.SortableFilterableTableDataModel<T,H>
All Implemented Interfaces:
Serializable, EventListener, TableModelListener, TableModel
Direct Known Subclasses:
SortableFilterableTableDataModelStandardHeaders

public class SortableFilterableTableDataModel<T,H extends ITableDataColumnHeader>
extends AbstractTableModel
implements TableModelListener

See Also:
Serialized Form

Nested Class Summary
private  class SortableFilterableTableDataModel.NumberComparator
           
static class SortableFilterableTableDataModel.SearchMode
           
private  class SortableFilterableTableDataModel.StringComparator
           
private  class SortableFilterableTableDataModel.TComparator
           
 
Field Summary
private  List<Class<?>> mColumnClasses
           
private  List<Comparator<T>> mColumnComparators
           
private  int mColumnCount
           
private  int mCurrentAddColumnIndex
           
private  TableDataRow<T> mCurrentRow
           
private  TableModel mDataFromTableModel
           
private  List<ISortableFilterableTableListener> mListeners
           
private  SortableFilterableTableDataModel.NumberComparator mnNumberComparator
           
private  int mSortColumnIndex
           
private  SortOrder mSortOrder
           
private  SortableFilterableTableDataModel.StringComparator mStringComparator
           
private  List<TableDataColumn<T,H>> mTableColumns
           
private  List<TableDataRow<T>> mTableRows
           
private  List<TableDataRow<T>> mVisibleRows
           
private static long serialVersionUID
           
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
SortableFilterableTableDataModel(int columnCount, SortableFilterableTableDataModel.SearchMode searchCapability)
           
SortableFilterableTableDataModel(TableModel tableModel, SortableFilterableTableDataModel.SearchMode searchCapability)
           
 
Method Summary
private  TableCellData<T> addCellLabel(String label)
           
 SortableFilterableTableDataModel<T,H> addData(byte data)
           
 SortableFilterableTableDataModel<T,H> addData(byte data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(char data)
           
 SortableFilterableTableDataModel<T,H> addData(char data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(double data)
           
 SortableFilterableTableDataModel<T,H> addData(double data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(float data)
           
 SortableFilterableTableDataModel<T,H> addData(float data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(int data)
           
 SortableFilterableTableDataModel<T,H> addData(int data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(long data)
           
 SortableFilterableTableDataModel<T,H> addData(long data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(short data)
           
 SortableFilterableTableDataModel<T,H> addData(String data, T additional)
           
 SortableFilterableTableDataModel<T,H> addData(T data)
           
 void addSortableFilterableTableListener(ISortableFilterableTableListener listener)
           
 SortableFilterableTableDataModel<T,H> addStringData(String data)
           
 void applyFilters()
           
private  void buildFromTableModel()
           
private  void checkColumnIndex(int index)
           
 void clear()
           
private  void fireResetAllFilters()
           
 TableCellData<T> getCellDataAt(int rowIndex, int columnIndex)
           
 Class<?> getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 H getColumnHeader(int columnIndex)
           
 String getColumnName(int columnIndex)
           
private  TableDataRow<T> getCurrentAddRow()
           
 String getInfixFilter(int columnIndex)
           
 String getMatchSimilarFilter(int columnIndex)
           
 int getMaximumCellValueLength(int forColumnIndex)
           
 String getPrefixFilter(int columnIndex)
           
 int getRowCount()
           
 Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 void refreshSearchIndices()
           
 void removeSortableFilterableTableListener(ISortableFilterableTableListener listener)
           
 void resetFilters()
           
 void restoreOriginalOrdering()
           
 void setCaseSensitiveFiltering(boolean caseSensitive, int columnIndex)
           
 void setColumnClass(Class<?> clazz, int columnIndex)
           
 void setColumnHeader(H header, int columnIndex)
           
 Comparator<T> setColumnSortingComparator(Comparator<T> comparator, int columnIndex)
           
 void setInfixFilter(String infix, int columnIndex, boolean applyFilter)
           
 void setMatchSimilarFilter(String filter, int distance, int lengthTolerance, int columnIndex, boolean applyFilter)
           
 void setPrefixFilter(String prefix, int columnIndex, boolean applyFilter)
           
 void setTableModel(TableModel model)
           
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
           
 void sortColumn(SortOrder order, int columnIndex)
           
 void tableChanged(TableModelEvent e)
           
private  void updateInsertData(TableCellData<T> cellData)
           
private  void updateVisibleRows()
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

mTableRows

private List<TableDataRow<T>> mTableRows

mTableColumns

private List<TableDataColumn<T,H extends ITableDataColumnHeader>> mTableColumns

mVisibleRows

private List<TableDataRow<T>> mVisibleRows

mColumnCount

private int mColumnCount

mColumnComparators

private List<Comparator<T>> mColumnComparators

mColumnClasses

private List<Class<?>> mColumnClasses

mCurrentAddColumnIndex

private int mCurrentAddColumnIndex

mCurrentRow

private TableDataRow<T> mCurrentRow

mSortColumnIndex

private int mSortColumnIndex

mSortOrder

private SortOrder mSortOrder

mStringComparator

private final SortableFilterableTableDataModel.StringComparator mStringComparator

mnNumberComparator

private final SortableFilterableTableDataModel.NumberComparator mnNumberComparator

mDataFromTableModel

private TableModel mDataFromTableModel

mListeners

private List<ISortableFilterableTableListener> mListeners
Constructor Detail

SortableFilterableTableDataModel

public SortableFilterableTableDataModel(TableModel tableModel,
                                        SortableFilterableTableDataModel.SearchMode searchCapability)

SortableFilterableTableDataModel

public SortableFilterableTableDataModel(int columnCount,
                                        SortableFilterableTableDataModel.SearchMode searchCapability)
Method Detail

addSortableFilterableTableListener

public void addSortableFilterableTableListener(ISortableFilterableTableListener listener)

removeSortableFilterableTableListener

public void removeSortableFilterableTableListener(ISortableFilterableTableListener listener)

addStringData

public SortableFilterableTableDataModel<T,H> addStringData(String data)

addData

public SortableFilterableTableDataModel<T,H> addData(String data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(T data)

addData

public SortableFilterableTableDataModel<T,H> addData(int data)

addData

public SortableFilterableTableDataModel<T,H> addData(long data)

addData

public SortableFilterableTableDataModel<T,H> addData(float data)

addData

public SortableFilterableTableDataModel<T,H> addData(double data)

addData

public SortableFilterableTableDataModel<T,H> addData(byte data)

addData

public SortableFilterableTableDataModel<T,H> addData(short data)

addData

public SortableFilterableTableDataModel<T,H> addData(char data)

addData

public SortableFilterableTableDataModel<T,H> addData(int data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(long data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(double data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(float data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(byte data,
                                                     T additional)

addData

public SortableFilterableTableDataModel<T,H> addData(char data,
                                                     T additional)

addCellLabel

private TableCellData<T> addCellLabel(String label)

getCurrentAddRow

private TableDataRow<T> getCurrentAddRow()

updateInsertData

private void updateInsertData(TableCellData<T> cellData)

refreshSearchIndices

public void refreshSearchIndices()

applyFilters

public void applyFilters()

updateVisibleRows

private void updateVisibleRows()

getInfixFilter

public String getInfixFilter(int columnIndex)

getPrefixFilter

public String getPrefixFilter(int columnIndex)

getMatchSimilarFilter

public String getMatchSimilarFilter(int columnIndex)

setInfixFilter

public void setInfixFilter(String infix,
                           int columnIndex,
                           boolean applyFilter)

setPrefixFilter

public void setPrefixFilter(String prefix,
                            int columnIndex,
                            boolean applyFilter)

setMatchSimilarFilter

public void setMatchSimilarFilter(String filter,
                                  int distance,
                                  int lengthTolerance,
                                  int columnIndex,
                                  boolean applyFilter)

clear

public void clear()

setColumnHeader

public void setColumnHeader(H header,
                            int columnIndex)

getColumnHeader

public H getColumnHeader(int columnIndex)

setColumnSortingComparator

public Comparator<T> setColumnSortingComparator(Comparator<T> comparator,
                                                int columnIndex)

setColumnClass

public void setColumnClass(Class<?> clazz,
                           int columnIndex)

setCaseSensitiveFiltering

public void setCaseSensitiveFiltering(boolean caseSensitive,
                                      int columnIndex)

resetFilters

public void resetFilters()

getColumnClass

public Class<?> getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface TableModel
Overrides:
getColumnClass in class AbstractTableModel

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface TableModel

getColumnName

public String getColumnName(int columnIndex)
Specified by:
getColumnName in interface TableModel
Overrides:
getColumnName in class AbstractTableModel

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface TableModel

getValueAt

public Object getValueAt(int rowIndex,
                         int columnIndex)
Specified by:
getValueAt in interface TableModel

getCellDataAt

public TableCellData<T> getCellDataAt(int rowIndex,
                                      int columnIndex)

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Specified by:
isCellEditable in interface TableModel
Overrides:
isCellEditable in class AbstractTableModel

setValueAt

public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
Specified by:
setValueAt in interface TableModel
Overrides:
setValueAt in class AbstractTableModel

getMaximumCellValueLength

public int getMaximumCellValueLength(int forColumnIndex)

checkColumnIndex

private void checkColumnIndex(int index)

restoreOriginalOrdering

public void restoreOriginalOrdering()

sortColumn

public void sortColumn(SortOrder order,
                       int columnIndex)

setTableModel

public void setTableModel(TableModel model)

buildFromTableModel

private void buildFromTableModel()

tableChanged

public void tableChanged(TableModelEvent e)
Specified by:
tableChanged in interface TableModelListener

fireResetAllFilters

private void fireResetAllFilters()


Copyright © 2007-2011. All Rights Reserved.