Package docking.widgets.table

# Class AnyObjectTableModel<T>

java.lang.Object
javax.swing.table.AbstractTableModel
docking.widgets.table.AbstractGTableModel<T>
docking.widgets.table.AbstractSortedTableModel<T>
docking.widgets.table.GDynamicColumnTableModel<T,Object>
docking.widgets.table.AnyObjectTableModel<T>

Type Parameters:
  `T` - the row object type

All Implemented Interfaces:
  `ConfigurableColumnTableModel`, `DynamicColumnTableModel<T>`, `RowObjectTableModel<T>`, `SelectionStorage<T>`, `SortedTableModel`, `VariableColumnTableModel`, `Serializable`, `EventListener`, `ChangeListener`, `TableModel`

public class AnyObjectTableModel<T> extends GDynamicColumnTableModel<T,Object>
A table that allow users to provide a list of data objects whose method can be used to create columns.

See Also:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from class docking.widgets.table.GDynamicColumnTableModel

  `columnSettings, serviceProvider, tableColumns`

  ### Fields inherited from class docking.widgets.table.AbstractSortedTableModel

  `hasEverSorted`

  ### Fields inherited from class docking.widgets.table.AbstractGTableModel

  `isDisposed, WIDTH_UNDEFINED`

  ### Fields inherited from class javax.swing.table.AbstractTableModel

  `listenerList`

  ### Fields inherited from interface docking.widgets.table.SortedTableModel

  `ASCENDING_ORDER, DESCENDING_ORDER`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AnyObjectTableModel(String modelName, Class<T> dataClass, String... methodNames)`
  `AnyObjectTableModel(String modelName, Class<T> dataClass, List<String> methodNames)`
  `AnyObjectTableModel(String modelName, Method... methods)`
  `AnyObjectTableModel(String modelName, List<Method> methods)`
  `AnyObjectTableModel(String modelName, List<T> data, Class<T> dataClass, List<String> methodNames)`
  `AnyObjectTableModel(String modelName, List<T> data, List<Method> methods)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected TableColumnDescriptor<T>`
  `createTableColumnDescriptor()`
  `Object`
  `getDataSource()`
  Returns the table's context for the data.
  `List<T>`
  `getModelData()`
  Implementors should return the current data of the model.
  `String`
  `getName()`
  Returns the name of this model
  `boolean`
  `isSortable(int columnIndex)`
  Returns true if the specified columnIndex is sortable.
  `void`
  `setModelData(List<T> data)`

  ### Methods inherited from class docking.widgets.table.GDynamicColumnTableModel

  `addTableColumn, addTableColumn, addTableColumns, addTableColumns, createSortComparator, createSortComparatorForColumn, dispose, disposeDynamicColumnData, getColumn, getColumnClass, getColumnCount, getColumnDescription, getColumnDisplayName, getColumnIndex, getColumnIndex, getColumnName, getColumnSettings, getColumnSettingsDefinitions, getColumnValueForRow, getDefaultColumnCount, getHeaderRenderer, getMaxLines, getPreferredColumnWidth, getRenderer, getTableColumnDescriptor, getUniqueIdentifier, isDefaultColumn, isVisibleByDefault, loadDiscoveredTableColumns, reloadColumns, removeTableColumn, removeTableColumns, setAllColumnSettings, stateChanged`

  ### Methods inherited from class docking.widgets.table.AbstractSortedTableModel

  `addSortListener, cleanupTableSortState, createSortingContext, fireTableChanged, getIndexForRowObject, getIndexForRowObject, getPendingSortState, getPrimarySortColumnIndex, getRowIndex, getRowObject, getTableSortState, getValueAt, initializeSorting, isSorted, isSortPending, notifyModelSorted, reSort, setDefaultTableSortState, setTableSortState, sort, sortCompleted`

  ### Methods inherited from class docking.widgets.table.AbstractGTableModel

  `getLastSelectedObjects, getRowCount, isDisposed, refresh, setLastSelectedObjects`

  ### Methods inherited from class javax.swing.table.AbstractTableModel

  `addTableModelListener, findColumn, fireTableCellUpdated, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface docking.widgets.table.RowObjectTableModel

  `fireTableDataChanged, getRowIndex, getRowObject`

  ### Methods inherited from interface javax.swing.table.TableModel

  `addTableModelListener, getRowCount, getValueAt, isCellEditable, removeTableModelListener, setValueAt`

- ## Constructor Details

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, Class<T> dataClass, String... methodNames)

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, Method... methods)

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, List<Method> methods)

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, Class<T> dataClass, List<String> methodNames)

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, List<T> data, Class<T> dataClass, List<String> methodNames)

  - ### AnyObjectTableModel

    public AnyObjectTableModel(String modelName, List<T> data, List<Method> methods)

- ## Method Details

  - ### getName

    public String getName()
    Description copied from interface: `RowObjectTableModel`
    Returns the name of this model
    Returns:
      the name of this model

  - ### 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`
    Overrides:
      `isSortable` in class `GDynamicColumnTableModel<T,Object>`
    Parameters:
      `columnIndex` - the column index
    Returns:
      true if the specified columnIndex is sortable

  - ### getModelData

    public List<T> getModelData()
    Description copied from interface: `RowObjectTableModel`
    Implementors should return the current data of the model. For models that support filtering, this will be the filtered version of the data. Furthermore, the data should be the underlying data and not a copy, as this method will potentially sort the given data.

    For those subclasses using an array, you may use the `Arrays` class to create a list backed by the array (`Arrays.asList(Object...)`).

    Returns:
      the model data.

  - ### setModelData

    public void setModelData(List<T> data)

  - ### createTableColumnDescriptor

    protected TableColumnDescriptor<T> createTableColumnDescriptor()
    Specified by:
      `createTableColumnDescriptor` in class `GDynamicColumnTableModel<T,Object>`

  - ### getDataSource

    public Object getDataSource()
    Description copied from class: `GDynamicColumnTableModel`
    Returns the table's context for the data.
    Specified by:
      `getDataSource` in class `GDynamicColumnTableModel<T,Object>`
    Returns:
      the table's context for the data.