Class GDynamicColumnTableModel<ROW_TYPE,​DATA_SOURCE>

Constructor Detail

  • Method Detail

    • isSortable

      public boolean isSortable​(int columnIndex)
      Description copied from interface: SortedTableModel
      Returns true if the specified columnIndex is sortable.
      Specified by:
      isSortable in interface SortedTableModel
      Parameters:
      columnIndex - the column index
      Returns:
      true if the specified columnIndex is sortable
    • loadDiscoveredTableColumns NEW

      protected void loadDiscoveredTableColumns()
    • createSortComparator NEW

      protected java.util.Comparator<ROW_TYPE> createSortComparator​(int columnIndex)
      Description copied from class: AbstractSortedTableModel
      An extension point for subclasses to insert their own comparator objects for their data. Subclasses can create comparators for a single or multiple columns, as desired. The AbstractSortedTableModel.DefaultColumnComparator is used as a, well, default comparator.
      Overrides:
      createSortComparator in class AbstractSortedTableModel<ROW_TYPE>
      Parameters:
      columnIndex - the column index for which a comparator is desired.
      Returns:
      a comparator for the given index.
    • createSortComparatorForColumn NEW

      protected java.util.Comparator<java.lang.Object> createSortComparatorForColumn​(int columnIndex)
      This differs from createSortComparator(int) in that the other method creates a comparator that operates on a full row value, whereas this method operates on column values.
      Parameters:
      columnIndex - the column index
      Returns:
      a comparator for the specific column values; may be null
    • stateChanged

      public void stateChanged​(javax.swing.event.ChangeEvent e)
      Callback when column settings have changed
      Specified by:
      stateChanged in interface javax.swing.event.ChangeListener
    • addTableColumn

      protected void addTableColumn​(DynamicTableColumn<ROW_TYPE,​?,​?> column)
      Adds the given column at the end of the list of columns. This method is intended for implementations to add custom column objects, rather than relying on generic, discovered DynamicTableColumn implementations.

      Note: this method assumes that the columns have already been sorted

      Parameters:
      column - The field to add
    • addTableColumns

      protected void addTableColumns​(java.util.Set<DynamicTableColumn<ROW_TYPE,​?,​?>> columns)
      Adds the given columns to the end of the list of columns. This method is intended for implementations to add custom column objects, rather than relying on generic, discovered DynamicTableColumn implementations.

      Note: this method assumes that the columns have already been sorted.

      Parameters:
      columns - The columns to add
    • addTableColumn

      protected void addTableColumn​(DynamicTableColumn<ROW_TYPE,​?,​?> column,
                                    int index,
                                    boolean isDefault)
      Adds the given field at the given index to the list of fields in this class. This method is intended for implementations to add custom column objects, rather than relying on generic, discovered DynamicTableColumn implementations.

      Note: this method assumes that the columns have already been sorted.

      Parameters:
      column - The field to add.
      index - The index at which to add the field. If the index value is invalid (negative or greater than the number of columns), then the column will be added to the end of the columns list.
      isDefault - true if this is a default column
    • removeTableColumn

      protected void removeTableColumn​(DynamicTableColumn<ROW_TYPE,​?,​?> column)
      Removes the given column from this model
      Parameters:
      column - the column to remove
    • removeTableColumns

      protected void removeTableColumns​(java.util.Set<DynamicTableColumn<ROW_TYPE,​?,​?>> columns)
      Removes the given columns from this model. This method allows the client to remove multiple columns at once, firing only one event when the work is finished.
      Parameters:
      columns - the columns to remove
    • getDefaultColumnCount

      public int getDefaultColumnCount()
      Description copied from interface: VariableColumnTableModel
      Gets the count of the default columns for this model. This model may have non-default columns added. This method will return the count of columns that have been setup specifically by the table model. This method can be used to iterate of the first n columns of this model in order to get information for the default columns by calling methods like TableModel.getColumnName(int).
      Specified by:
      getDefaultColumnCount in interface VariableColumnTableModel
      Returns:
      Gets the count of the default columns for this model.
    • isVisibleByDefault

      public boolean isVisibleByDefault​(int modelIndex)
      Description copied from interface: VariableColumnTableModel
      Returns true if the column denoted by the given model index is specified by the table model as being visible when the table is loaded for the first time.
      Specified by:
      isVisibleByDefault in interface VariableColumnTableModel
      Parameters:
      modelIndex - The index in the column in the column model.
      Returns:
      true if the column denoted by the given model index is visible default.
    • isDefaultColumn

      public boolean isDefaultColumn​(int modelIndex)
      Returns true if the column indicated by the index in the model is a default column (meaning that it was specified by the model and not discovered).
      Specified by:
      isDefaultColumn in interface VariableColumnTableModel
      Parameters:
      modelIndex - the index of the column in the model.
      Returns:
      true if the column is a default.
    • getColumnCount

      public final int getColumnCount()
      Specified by:
      getColumnCount in interface javax.swing.table.TableModel
    • getColumnClass

      public final java.lang.Class<?> getColumnClass​(int column)
      Specified by:
      getColumnClass in interface javax.swing.table.TableModel
      Overrides:
      getColumnClass in class javax.swing.table.AbstractTableModel
    • getColumnName

      public final java.lang.String getColumnName​(int column)
      Specified by:
      getColumnName in interface javax.swing.table.TableModel
      Overrides:
      getColumnName in class javax.swing.table.AbstractTableModel
    • getUniqueIdentifier

      public java.lang.String getUniqueIdentifier​(int column)
      Description copied from interface: VariableColumnTableModel
      Returns a value that is unique for a given table column. This is different than getting the display name, which may be shared by different columns.
      Specified by:
      getUniqueIdentifier in interface VariableColumnTableModel
      Parameters:
      column - the index (in the model space) of the column for which to get the identifier
    • getColumnValueForRow

      public final java.lang.Object getColumnValueForRow​(ROW_TYPE t,
                                                         int columnIndex)
      Description copied from interface: RowObjectTableModel
      Implementors are expected to return a value at the given column index for the specified row object. This is essentially a more specific version of the TableModel.getValueAt(int, int) that allows this class's comparator objects to work.
      Specified by:
      getColumnValueForRow in interface RowObjectTableModel<ROW_TYPE>
      Parameters:
      t - The object that represents a given row.
      columnIndex - The column index for which a value is requested.
      Returns:
      a value at the given column index for the specified row object.
    • getDataSource

      public abstract DATA_SOURCE getDataSource()
      Returns the table's context for the data.
      Returns:
      the table's context for the data.
    • getColumnIndex

      public int getColumnIndex​(java.lang.Class<?> columnClass)
      Returns the column index of the given column class
      Parameters:
      columnClass - the class for the type of DynamicTableColumn you want to find.
      Returns:
      the column index for the specified DynamicTableColumn. -1 if not found.
    • setColumnSettings

      public void setColumnSettings​(int index,
                                    Settings newSettings)
      Description copied from interface: ConfigurableColumnTableModel
      A convenience method to set bulk column setting information for a group of columns at one time (this saves repeated rebuilding when settings are changing for multiple columns at once).
      Specified by:
      setColumnSettings in interface ConfigurableColumnTableModel
      Parameters:
      index - the column index
      newSettings - A list of pair objects that contain the column index of the column to which the new settings apply and the new settings object.
    • getRenderer

      public javax.swing.table.TableCellRenderer getRenderer​(int index)
      Gets the special table cell renderer for the specified table field column. A null value indicates that this field uses a default cell renderer.
      Specified by:
      getRenderer in interface ConfigurableColumnTableModel
      Parameters:
      index - the model column index
      Returns:
      a table cell renderer for this field. Otherwise, null if a default renderer should be used.
    • getMaxLines

      public int getMaxLines​(int index)
      Gets the maximum number of text display lines needed for any given cell within the specified column.
      Specified by:
      getMaxLines in interface ConfigurableColumnTableModel
      Parameters:
      index - column field index
      Returns:
      maximum number of lines needed for specified column