Module java.desktop
Package javax.swing

Class DefaultRowSorter.ModelWrapper<M,I>

java.lang.Object
javax.swing.DefaultRowSorter.ModelWrapper<M,I>
Type Parameters:
M - the type of the underlying model
I - the identifier supplied to the filter
Enclosing class:
DefaultRowSorter<M,I>

protected abstract static class DefaultRowSorter.ModelWrapper<M,I> extends Object
DefaultRowSorter.ModelWrapper is responsible for providing the data that gets sorted by DefaultRowSorter. You normally do not interact directly with ModelWrapper. Subclasses of DefaultRowSorter provide an implementation of ModelWrapper wrapping another model. For example, TableRowSorter provides a ModelWrapper that wraps a TableModel.

ModelWrapper makes a distinction between values as Objects and Strings. This allows implementations to provide a custom string converter to be used instead of invoking toString on the object.

Since:
1.6
See Also:
  • Constructor Details

    • ModelWrapper

      protected ModelWrapper()
      Creates a new ModelWrapper.
  • Method Details

    • getModel

      public abstract M getModel()
      Returns the underlying model that this Model is wrapping.
      Returns:
      the underlying model
    • getColumnCount

      public abstract int getColumnCount()
      Returns the number of columns in the model.
      Returns:
      the number of columns in the model
    • getRowCount

      public abstract int getRowCount()
      Returns the number of rows in the model.
      Returns:
      the number of rows in the model
    • getValueAt

      public abstract Object getValueAt(int row, int column)
      Returns the value at the specified index.
      Parameters:
      row - the row index
      column - the column index
      Returns:
      the value at the specified index
      Throws:
      IndexOutOfBoundsException - if the indices are outside the range of the model
    • getStringValueAt

      public String getStringValueAt(int row, int column)
      Returns the value as a String at the specified index. This implementation uses toString on the result from getValueAt (making sure to return an empty string for null values). Subclasses that override this method should never return null.
      Parameters:
      row - the row index
      column - the column index
      Returns:
      the value at the specified index as a String
      Throws:
      IndexOutOfBoundsException - if the indices are outside the range of the model
    • getIdentifier

      public abstract I getIdentifier(int row)
      Returns the identifier for the specified row. The return value of this is used as the identifier for the RowFilter.Entry that is passed to the RowFilter.
      Parameters:
      row - the row to return the identifier for, in terms of the underlying model
      Returns:
      the identifier
      See Also: