Package is.codion.swing.framework.model
Class SwingEntityTreeModel
java.lang.Object
javax.swing.tree.DefaultTreeModel
is.codion.swing.framework.model.SwingEntityTreeModel
- All Implemented Interfaces:
Serializable
,TreeModel
A basic tree model for viewing self-referential entities, using a
SwingEntityTableModel
as a data source.
For instances use the swingEntityTreeModel(SwingEntityTableModel, ForeignKey)
or
swingEntityTreeModel(SwingEntityTableModel, ForeignKey, Function)
factory methods.-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class javax.swing.tree.DefaultTreeModel
asksAllowsChildren, listenerList, root
-
Method Summary
Modifier and TypeMethodDescriptiongetRoot()
void
Refreshes the root node, that is, reloads its children.void
refreshSelect
(Collection<Entity> entities) Refreshes this tree and selects the given entitiesvoid
remove
(Collection<Entity> entities) Removes the given entities from this tree modelvoid
select
(Collection<Entity> entities) Selects the given entities in this tree model.static SwingEntityTreeModel
swingEntityTreeModel
(SwingEntityTableModel tableModel, ForeignKey parentForeignKey) Instantiates a newSwingEntityTreeModel
instance.static SwingEntityTreeModel
swingEntityTreeModel
(SwingEntityTableModel tableModel, ForeignKey parentForeignKey, Function<Entity, String> stringFunction) Instantiates a newSwingEntityTreeModel
instance.Methods inherited from class javax.swing.tree.DefaultTreeModel
addTreeModelListener, asksAllowsChildren, fireTreeNodesChanged, fireTreeNodesInserted, fireTreeNodesRemoved, fireTreeStructureChanged, getChild, getChildCount, getIndexOfChild, getListeners, getPathToRoot, getPathToRoot, getTreeModelListeners, insertNodeInto, isLeaf, nodeChanged, nodesChanged, nodeStructureChanged, nodesWereInserted, nodesWereRemoved, reload, reload, removeNodeFromParent, removeTreeModelListener, setAsksAllowsChildren, setRoot, valueForPathChanged
-
Method Details
-
getRoot
- Specified by:
getRoot
in interfaceTreeModel
- Overrides:
getRoot
in classDefaultTreeModel
- Returns:
- the root node
-
treeSelectionModel
- Returns:
- the selection model
-
refreshRoot
public void refreshRoot()Refreshes the root node, that is, reloads its children. -
select
Selects the given entities in this tree model.- Parameters:
entities
- the entities to select, an empty collection to clear the selection
-
refreshSelect
Refreshes this tree and selects the given entities- Parameters:
entities
- the modified entities
-
remove
Removes the given entities from this tree model- Parameters:
entities
- the entities to remove
-
swingEntityTreeModel
public static SwingEntityTreeModel swingEntityTreeModel(SwingEntityTableModel tableModel, ForeignKey parentForeignKey) Instantiates a newSwingEntityTreeModel
instance.- Parameters:
tableModel
- the table model data sourceparentForeignKey
- the foreign key referencing parent nodes- Returns:
- a new
SwingEntityTreeModel
instance.
-
swingEntityTreeModel
public static SwingEntityTreeModel swingEntityTreeModel(SwingEntityTableModel tableModel, ForeignKey parentForeignKey, Function<Entity, String> stringFunction) Instantiates a newSwingEntityTreeModel
instance.- Parameters:
tableModel
- the table model data sourceparentForeignKey
- the foreign key referencing parent nodesstringFunction
- the function for creating String representations of the entities- Returns:
- a new
SwingEntityTreeModel
instance.
-