org.jdesktop.swingx.decorator
Class ShuttleSorter

java.lang.Object
  extended by org.jdesktop.swingx.decorator.Filter
      extended by org.jdesktop.swingx.decorator.Sorter
          extended by org.jdesktop.swingx.decorator.ShuttleSorter

public class ShuttleSorter
extends Sorter

Pluggable sorting filter.


Field Summary
 
Fields inherited from class org.jdesktop.swingx.decorator.Filter
adapter, fromPrevious, pipeline
 
Constructor Summary
ShuttleSorter()
           
ShuttleSorter(int col, boolean ascending)
           
ShuttleSorter(int col, boolean ascending, Comparator comparator)
           
 
Method Summary
protected  boolean canFilter()
          This is a quickfix for #55-swingx: NPE if sorter is in pipeline.
protected  void filter()
          Performs the sort.
 int getSize()
          Returns the number of records that remain in this filter's output ("view") after the input records have been filtered.
protected  void init()
          Provides filter-specific initialization.
protected  int mapTowardModel(int row)
          PRE: 0 <= row < getSize();
protected  void reset()
          Resets the internal row mappings from this filter to the previous filter.
protected  void sort(int[] from, int[] to, int low, int high)
           
 
Methods inherited from class org.jdesktop.swingx.decorator.Sorter
compare, getCollator, getComparator, getSortKey, getSortOrder, isAscending, refresh, refreshCollator, setAscending, setComparator, setSortKey, toggle
 
Methods inherited from class org.jdesktop.swingx.decorator.Filter
assign, convertRowIndexToModel, convertRowIndexToView, fireFilterChanged, getColumnIndex, getColumnName, getInputSize, getInputString, getInputValue, getMappingFilter, getPipeline, getStringAt, getValueAt, isCellEditable, mapTowardView, refresh, setColumnIndex, setValueAt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ShuttleSorter

public ShuttleSorter()

ShuttleSorter

public ShuttleSorter(int col,
                     boolean ascending)

ShuttleSorter

public ShuttleSorter(int col,
                     boolean ascending,
                     Comparator comparator)
Method Detail

init

protected void init()
Description copied from class: Filter
Provides filter-specific initialization. Called from the Filter constructor.

Specified by:
init in class Filter

reset

protected void reset()
Resets the internal row mappings from this filter to the previous filter.

Specified by:
reset in class Filter

filter

protected void filter()
Performs the sort. Calls sort only if canFilter(), regards all values as equal (== doesn't sort) otherwise.

Specified by:
filter in class Filter
See Also:
canFilter()

canFilter

protected boolean canFilter()
This is a quickfix for #55-swingx: NPE if sorter is in pipeline. No way to automatically cleanup "from the outside" if the sorter is hooked to a columnIndex which is no longer valid. So we check here for assigned and valid index.

PENDING: should be done higher up?

Returns:
boolean to indicate whether accessing the values is valid.

getSize

public int getSize()
Description copied from class: Filter
Returns the number of records that remain in this filter's output ("view") after the input records have been filtered.

Specified by:
getSize in class Filter
Returns:
the number of records that remain in this filter's output ("view") after the input records have been filtered

mapTowardModel

protected int mapTowardModel(int row)
Description copied from class: Filter
PRE: 0 <= row < getSize();

Specified by:
mapTowardModel in class Filter
Returns:
TODO:

sort

protected void sort(int[] from,
                    int[] to,
                    int low,
                    int high)