Class GlazedListsSortModel<T>

java.lang.Object
org.eclipse.nebula.widgets.nattable.extension.glazedlists.GlazedListsSortModel<T>
All Implemented Interfaces:
ILayerListener, ISortModel

public class GlazedListsSortModel<T> extends Object implements ISortModel, ILayerListener
  • Field Details

    • sortedList

      protected final ca.odell.glazedlists.SortedList<T> sortedList
    • columnAccessor

      protected final IColumnAccessor<T> columnAccessor
    • columnPropertyResolver

      protected final IColumnPropertyResolver columnPropertyResolver
    • configRegistry

      protected final IConfigRegistry configRegistry
    • columnHeaderDataLayer

      protected final ILayer columnHeaderDataLayer
  • Constructor Details

  • Method Details

    • getComparatorChooser

      protected NatTableComparatorChooser<T> getComparatorChooser()
    • getSortedColumnIndexes

      public List<Integer> getSortedColumnIndexes()
      Specified by:
      getSortedColumnIndexes in interface ISortModel
      Returns:
      List of column indexes that are sorted.
    • getSortOrder

      public int getSortOrder(int columnIndex)
      Specified by:
      getSortOrder in interface ISortModel
      Parameters:
      columnIndex - The column index for which the sort order is requested.
      Returns:
      when multiple columns are sorted, this returns the order of the column index in the sort

      Example: If column indexes 3, 6, 9 are sorted (in that order) the sort order for index 6 is 1.

    • getSortDirection

      public SortDirectionEnum getSortDirection(int columnIndex)
      Specified by:
      getSortDirection in interface ISortModel
      Parameters:
      columnIndex - The column index for which the sort direction is requested.
      Returns:
      the direction in which the column with the given index is currently sorted
    • isColumnIndexSorted

      public boolean isColumnIndexSorted(int columnIndex)
      Specified by:
      isColumnIndexSorted in interface ISortModel
      Parameters:
      columnIndex - The column index to check.
      Returns:
      true if the column with the given index is sorted at the moment.
    • getComparatorsForColumnIndex

      public List<Comparator> getComparatorsForColumnIndex(int columnIndex)
      Specified by:
      getComparatorsForColumnIndex in interface ISortModel
      Parameters:
      columnIndex - The index of the column for which the row objects should be sorted.
      Returns:
      The collection of Comparators used to sort row objects by column values.
    • getColumnComparator

      public Comparator<?> getColumnComparator(int columnIndex)
      Specified by:
      getColumnComparator in interface ISortModel
      Parameters:
      columnIndex - The index of the column for which the Comparator is requested.
      Returns:
      The Comparator that is used for sorting the values of a specified column. Needed in case of data model wrapping, e.g. GroupBy
    • sort

      public void sort(int columnIndex, SortDirectionEnum sortDirection, boolean accumulate)
      Description copied from interface: ISortModel
      This method is called by the SortCommandHandler in response to a sort command. It is responsible for sorting the requested column.
      Specified by:
      sort in interface ISortModel
      Parameters:
      columnIndex - The column index to sort.
      sortDirection - The sort direction to apply.
      accumulate - flag indicating if the column should added to a previous sort.
    • clear

      public void clear()
      Description copied from interface: ISortModel
      Remove all sorting
      Specified by:
      clear in interface ISortModel
    • handleLayerEvent

      public void handleLayerEvent(ILayerEvent event)
      Description copied from interface: ILayerListener
      Handle an event notification from an ILayer
      Specified by:
      handleLayerEvent in interface ILayerListener
      Parameters:
      event - the event
    • refresh

      public void refresh()
      Helper method to re-apply the sorting.
      Since:
      1.6