T
- the item data typepublic interface HasHierarchicalDataProvider<T> extends Serializable
Modifier and Type | Method and Description |
---|---|
HierarchicalDataProvider<T,SerializablePredicate<T>> |
getDataProvider() |
default TreeData<T> |
getTreeData()
Gets the backing
TreeData instance of the data provider, if the
data provider is a TreeDataProvider . |
void |
setDataProvider(DataProvider<T,?> dataProvider)
Deprecated.
Use
setDataProvider(HierarchicalDataProvider)
instead as the data should be hierarchical |
void |
setDataProvider(HierarchicalDataProvider<T,?> hierarchicalDataProvider)
Sets the hierarchical data provider for this listing.
|
default void |
setItems(Collection<T> rootItems,
ValueProvider<T,Collection<T>> childItemProvider)
Sets the root data items of this component provided as a collection and
recursively populates them with child items with the given value
provider.
|
default void |
setItems(Stream<T> rootItems,
ValueProvider<T,Stream<T>> childItemProvider)
Sets the root data items of this component provided as a stream and
recursively populates them with child items with the given value
provider.
|
default void |
setTreeData(TreeData<T> treeData)
Sets a new
TreeDataProvider wrapping the given TreeData . |
HierarchicalDataProvider<T,SerializablePredicate<T>> getDataProvider()
default void setTreeData(TreeData<T> treeData)
TreeDataProvider
wrapping the given TreeData
.treeData
- the tree data to setdefault TreeData<T> getTreeData()
TreeData
instance of the data provider, if the
data provider is a TreeDataProvider
.IllegalStateException
- if the type of the data provider is not
TreeDataProvider
default void setItems(Collection<T> rootItems, ValueProvider<T,Collection<T>> childItemProvider)
The provided items are wrapped into a TreeDataProvider
backed by
a flat TreeData
structure. The data provider instance is used as
a parameter for the setDataProvider(DataProvider)
method. It
means that the items collection can be accessed later on via
getTreeData()
:
Collection<Person> grandParents = getGrandParents();
HasHierarchicalDataProvider<Person> treeGrid = new TreeGrid<>();
treeGrid.setItems(grandParents, Person::getChildren);
...
TreeData<Person> data = treeGrid.getTreeData();
The returned TreeData
instance may be used as-is to add, remove
or modify items in the hierarchy. These modifications to the object are
not automatically reflected back to the TreeGrid. Items modified should
be refreshed with DataProvider.refreshItem(Object)
and when adding or removing items
DataProvider.refreshAll()
should be called.
rootItems
- the root items to display, not null
childItemProvider
- the value provider used to recursively populate the given root
items with child items, not null
default void setItems(Stream<T> rootItems, ValueProvider<T,Stream<T>> childItemProvider)
The provided items are wrapped into a TreeDataProvider
backed by
a flat TreeData
structure. The data provider instance is used as
a parameter for the setDataProvider(DataProvider)
method. It
means that the items collection can be accessed later on via
getTreeData()
:
Stream<Person> grandParents = getGrandParents();
HasHierarchicalDataProvider<Person> treeGrid = new TreeGrid<>();
treeGrid.setItems(grandParents, Person::getChildren);
...
TreeData<Person> data = treeGrid.getTreeData();
The returned TreeData
instance may be used as-is to add, remove
or modify items in the hierarchy. These modifications to the object are
not automatically reflected back to the TreeGrid. Items modified should
be refreshed with DataProvider.refreshItem(Object)
and when adding or removing items
DataProvider.refreshAll()
should be called.
rootItems
- the root items to display, not null
childItemProvider
- the value provider used to recursively populate the given root
items with child items, not null
@Deprecated void setDataProvider(DataProvider<T,?> dataProvider)
setDataProvider(HierarchicalDataProvider)
instead as the data should be hierarchical
NOTE: This method is here for backwards compatibility, but the
implementation for it will most likely throw if the data provider is not
a HierarchicalDataProvider
.
dataProvider
- the data provider, not nullvoid setDataProvider(HierarchicalDataProvider<T,?> hierarchicalDataProvider)
hierarchicalDataProvider
- the hierarchical data provider to use, not null
Copyright © 2022. All rights reserved.