Interface TableConfiguration<S>

Type Parameters:
S - the type of the objects contained within the table's or tree-table's items list
All Known Implementing Classes:
DefaultTableConfiguration, RdcTableConfiguration

public interface TableConfiguration<S>
Configuration for table and treetable views.
The main purpose is to provide a single object to configure the component.
Author:
harald
  • Method Details

    • getObjectClass

      Class<S> getObjectClass()
      Gets the row object class.
      Returns:
      the row object class
    • getColumnConfigurations

      Collection<TableColumnConfiguration<S,?>> getColumnConfigurations()
      Gets the configurations of the columns.
      Returns:
      the column configurations
    • getColumnConfiguration

      TableColumnConfiguration<S,?> getColumnConfiguration(String name)
      Gets a column configuration by its name.
      Parameters:
      name - the name
      Returns:
      the config, null if no such name and displayed name
    • getColumnConfiguration

      TableColumnConfiguration<S,?> getColumnConfiguration(javafx.scene.control.TableColumn<S,?> column)
      Gets a column configuration by its table column.
      Parameters:
      column - the table column
      Returns:
      the config, null if no such column
    • getColumnConfiguration

      TableColumnConfiguration<S,?> getColumnConfiguration(javafx.scene.control.TreeTableColumn<S,?> column)
      Gets a column configuration by its treetable column.
      Parameters:
      column - the treetable column
      Returns:
      the config, null if no such column
    • getName

      String getName()
      Gets the name of the table.
      The name is also used as a key to the table preferences.
      Returns:
      the name, never null
    • addColumn

      TableColumnConfiguration<S,?> addColumn(String name, String displayedName)
      Adds a column via binding path.
      Parameters:
      name - the column's binding path
      displayedName - the displayed column name
      Returns:
      the created column configuration
    • removeColumn

      TableColumnConfiguration<S,?> removeColumn(String name)
      Removes a column via binding path.
      Parameters:
      name - the column's binding path
      Returns:
      the old column configuration, null if no such column
    • addColumnConfiguration

      void addColumnConfiguration(TableColumnConfiguration<S,?> columnConfiguration)
      Adds a column configuration.
      Parameters:
      columnConfiguration - the config
    • savePreferences

      void savePreferences(FxTableView<S> table, String suffix, boolean system)
      Saves the column sizes, visibility, view size and sorting to the preferences.
      Parameters:
      table - the table
      suffix - the configuration suffix, null if none
      system - true if save to system prefs, else user prefs
    • loadPreferences

      void loadPreferences(FxTableView<S> table, String suffix, boolean system)
      Loads the column sizes, visibility, view size and sorting from the preferences.
      Parameters:
      table - the table
      suffix - the configuration suffix, null if none
      system - true if load from system prefs only, else user prefs first
    • savePreferences

      void savePreferences(FxTreeTableView<S> treeTable, String suffix, boolean system)
      Saves the column sizes, visibility, view size and sorting to the preferences.
      Parameters:
      treeTable - the treetable
      suffix - the configuration suffix, null if none
      system - true if save to system prefs, else user prefs
    • loadPreferences

      void loadPreferences(FxTreeTableView<S> treeTable, String suffix, boolean system)
      Loads the column sizes, visibility, view size and sorting from the preferences.
      Parameters:
      treeTable - the table
      suffix - the configuration suffix, null if none
      system - true if load from system prefs only, else user prefs first
    • isSortingIncluded

      boolean isSortingIncluded()
      Returns whether the preferences include the column sorting.
      Returns:
      true if sorting is restored from the preferences (default is false)
    • setSortingIncluded

      void setSortingIncluded(boolean sortingIncluded)
      Sets whether the preferences include the column sorting.
      Parameters:
      sortingIncluded - true if sorting is restored from the preferences (default is false)
    • isViewSizeIncluded

      boolean isViewSizeIncluded()
      Returns whether the preferences include the view size.
      Returns:
      true if the preferred size is restored from the preferences (default is true)
    • setViewSizeIncluded

      void setViewSizeIncluded(boolean viewSizeIncluded)
      Sets whether the preferences include the view size.
      Parameters:
      viewSizeIncluded - true if the preferred size is restored from the preferences (default is true)
    • getBindingType

      TableConfiguration.BINDING getBindingType()
      Gets the type of binding.
      Returns:
      the binding type
    • setBindingType

      void setBindingType(TableConfiguration.BINDING bindingType)
      Sets the type of binding.
      Parameters:
      bindingType - the binding type
    • getBinder

      FxTableBinder<S> getBinder()
      Gets the table binder.
      Don't mix up the table's binder with the FxController's binder! The table binder is responsible to bind the cells to the model, whereas the controller binder binds the data list to the table.
      As a consequence, binding properties such as the DomainContext, if necessary for cell editors, must be applied to the table binder!
      Returns:
      the binder
    • getEditMode

      Returns the edit mode.
      Returns:
      the edit mode, never null, default is NO
    • setEditMode

      void setEditMode(TableConfiguration.EDITMODE editMode)
      Sets the edit mode.
      Parameters:
      editMode - the edit mode, null is equivalent to NO
    • configure

      void configure(FxTableView<S> table)
      Configures the table.
      Parameters:
      table - the table view
    • configure

      void configure(FxTreeTableView<S> treeTable)
      Configures the treetable.
      Parameters:
      treeTable - the treetable view
    • getTableCellType

      <T> TableCellType<T> getTableCellType(Class<T> type)
      Gets the cell type according to the item type.
      Type Parameters:
      T - the item type
      Parameters:
      type - the item class
      Returns:
      the cell type, never null
    • createTreeItem

      javafx.scene.control.TreeItem<S> createTreeItem(S object)
      Creates a tree item for a treetable.
      Parameters:
      object - the object to wrap
      Returns:
      the tree item
    • getBaseBundleName

      String getBaseBundleName()
      Gets the optional resource bundle name.
      Used for BundleMonkey navigation only.
      Returns:
      the bundle name, null if unknown
    • setBaseBundleName

      void setBaseBundleName(String bundleName)
      Sets the optional resource bundle name.
      Parameters:
      bundleName - the bundle name, null if none