- 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.
The main purpose is to provide a single object to configure the component.
- Author:
- harald
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic enum
Type of binding.static enum
Edit mode. -
Method Summary
Modifier and TypeMethodDescriptionAdds a column via binding path.void
addColumnConfiguration
(TableColumnConfiguration<S, ?> columnConfiguration) Adds a column configuration.void
configure
(FxTableView<S> table) Configures the table.void
configure
(FxTreeTableView<S> treeTable) Configures the treetable.javafx.scene.control.TreeItem
<S> createTreeItem
(S object) Creates a tree item for a treetable.Gets the optional resource bundle name.
Used for BundleMonkey navigation only.Gets the table binder.
Don't mix up the table's binder with the FxController's binder!Gets the type of binding.getColumnConfiguration
(String name) Gets a column configuration by its name.getColumnConfiguration
(javafx.scene.control.TableColumn<S, ?> column) Gets a column configuration by its table column.getColumnConfiguration
(javafx.scene.control.TreeTableColumn<S, ?> column) Gets a column configuration by its treetable column.Gets the configurations of the columns.Returns the edit mode.getName()
Gets the name of the table.
The name is also used as a key to the table preferences.Gets the row object class.<T> TableCellType
<T> getTableCellType
(Class<T> type) Gets the cell type according to the item type.boolean
Returns whether the preferences include the column sorting.boolean
Returns whether the preferences include the view size.void
loadPreferences
(FxTableView<S> table, String suffix, boolean system) Loads the column sizes, visibility, view size and sorting from the preferences.void
loadPreferences
(FxTreeTableView<S> treeTable, String suffix, boolean system) Loads the column sizes, visibility, view size and sorting from the preferences.removeColumn
(String name) Removes a column via binding path.void
savePreferences
(FxTableView<S> table, String suffix, boolean system) Saves the column sizes, visibility, view size and sorting to the preferences.void
savePreferences
(FxTreeTableView<S> treeTable, String suffix, boolean system) Saves the column sizes, visibility, view size and sorting to the preferences.void
setBaseBundleName
(String bundleName) Sets the optional resource bundle name.void
setBindingType
(TableConfiguration.BINDING bindingType) Sets the type of binding.void
setEditMode
(TableConfiguration.EDITMODE editMode) Sets the edit mode.void
setSortingIncluded
(boolean sortingIncluded) Sets whether the preferences include the column sorting.void
setViewSizeIncluded
(boolean viewSizeIncluded) Sets whether the preferences include the view size.
-
Method Details
-
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
Gets a column configuration by its name.- Parameters:
name
- the name- Returns:
- the config, null if no such name and displayed name
-
getColumnConfiguration
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
Adds a column via binding path.- Parameters:
name
- the column's binding pathdisplayedName
- the displayed column name- Returns:
- the created column configuration
-
removeColumn
Removes a column via binding path.- Parameters:
name
- the column's binding path- Returns:
- the old column configuration, null if no such column
-
addColumnConfiguration
Adds a column configuration.- Parameters:
columnConfiguration
- the config
-
savePreferences
Saves the column sizes, visibility, view size and sorting to the preferences.- Parameters:
table
- the tablesuffix
- the configuration suffix, null if nonesystem
- true if save to system prefs, else user prefs
-
loadPreferences
Loads the column sizes, visibility, view size and sorting from the preferences.- Parameters:
table
- the tablesuffix
- the configuration suffix, null if nonesystem
- true if load from system prefs only, else user prefs first
-
savePreferences
Saves the column sizes, visibility, view size and sorting to the preferences.- Parameters:
treeTable
- the treetablesuffix
- the configuration suffix, null if nonesystem
- true if save to system prefs, else user prefs
-
loadPreferences
Loads the column sizes, visibility, view size and sorting from the preferences.- Parameters:
treeTable
- the tablesuffix
- the configuration suffix, null if nonesystem
- 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
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
TableConfiguration.EDITMODE getEditMode()Returns the edit mode.- Returns:
- the edit mode, never null, default is NO
-
setEditMode
Sets the edit mode.- Parameters:
editMode
- the edit mode, null is equivalent to NO
-
configure
Configures the table.- Parameters:
table
- the table view
-
configure
Configures the treetable.- Parameters:
treeTable
- the treetable view
-
getTableCellType
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
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
Sets the optional resource bundle name.- Parameters:
bundleName
- the bundle name, null if none
-