Interface FilterTableColumnModel<C>

Type Parameters:
C - the type of column identifier
All Superinterfaces:
TableColumnModel

public interface FilterTableColumnModel<C> extends TableColumnModel
A TableColumnModel handling hidden columns. Note that this column model does not support dynamically adding or removing columns, TableColumnModel.addColumn(TableColumn) and TableColumnModel.removeColumn(TableColumn) both throw UnsupportedOperationException.
  • Method Details

    • columns

      Returns:
      an unmodifiable view of all columns in this model, both hidden and visible, in no particular order
    • visible

      List<FilterTableColumn<C>> visible()
      Returns:
      an unmodifiable view of the currently visible columns
    • hidden

      Returns:
      an unmodifiable view of currently hidden columns, in no particular order
    • locked

      State locked()
      Returns a State instance controlling whether this model is locked or not. A locked column model does not allow adding or removing of columns, but columns can be reordered.
      Returns:
      a State controlling whether this model is locked or not
    • setVisibleColumns

      void setVisibleColumns(C... identifiers)
      Arranges the columns so that only the given columns are visible and in the given order
      Parameters:
      identifiers - the column identifiers
      Throws:
      IllegalArgumentException - in case a column is not found
    • setVisibleColumns

      void setVisibleColumns(List<C> identifiers)
      Arranges the columns so that only the given columns are visible and in the given order
      Parameters:
      identifiers - the column identifiers
      Throws:
      IllegalArgumentException - in case a column is not found
    • column

      FilterTableColumn<C> column(C identifier)
      Returns the TableColumn with the given identifier
      Parameters:
      identifier - the column identifier
      Returns:
      the TableColumn with the given identifier
      Throws:
      IllegalArgumentException - in case this table model does not contain a column with the given identifier
    • getColumn

      FilterTableColumn<C> getColumn(int columnIndex)
      Specified by:
      getColumn in interface TableColumnModel
    • visible

      State visible(C identifier)
      Returns the State for controlling the column visibility
      Parameters:
      identifier - the column identifier
      Returns:
      a State for controlling the column visibility
      Throws:
      IllegalArgumentException - in case the column is not found
    • containsColumn

      boolean containsColumn(C identifier)
      Parameters:
      identifier - the column identifier
      Returns:
      true if this column model contains a column with the given identifier
    • identifier

      C identifier(int modelColumnIndex)
      Parameters:
      modelColumnIndex - the column model index
      Returns:
      the column identifier
    • resetColumns

      void resetColumns()
      Resets the columns to their original location and visibility
    • columnHidden

      Observer<C> columnHidden()
      Returns:
      an observer notified each time a column is hidden
    • columnShown

      Observer<C> columnShown()
      Returns:
      an observer notified each time a column is shown