com.vaadin.data.

Interface HasHierarchicalDataProvider<T>

    • Method Detail

      • setTreeData

        default void setTreeData​(TreeData<T> treeData)

        Sets a new TreeDataProvider wrapping the given TreeData.

        Parameters:

        treeData - the tree data to set

      • setItems

        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.

        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 HasDataProvider.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.

        Parameters:

        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

      • setItems

        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.

        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 HasDataProvider.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.

        Parameters:

        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

      • setItems

        default void setItems​(Collection<T> items)

        Sets the data items of this component provided as a collection.

        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 HasDataProvider.setDataProvider(DataProvider) method. It means that the items collection can be accessed later on via getTreeData():

         
         HasHierarchicalDataProvider<String> treeGrid = new TreeGrid<>();
         treeGrid.setItems(Arrays.asList("a","b"));
         ...
        
         TreeData<String> 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.

        Specified by:

        setItems in interface HasDataProvider<T>

        Specified by:

        setItems in interface HasItems<T>

        Parameters:

        items - the data items to display, not null

      • setItems

        default void setItems​(Stream<T> items)

        Sets the data items of this component provided as a stream.

        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 HasDataProvider.setDataProvider(DataProvider) method. It means that the items collection can be accessed later on via getTreeData():

         
         HasHierarchicalDataProvider<String> treeGrid = new TreeGrid<>();
         treeGrid.setItems(Stream.of("a","b"));
         ...
        
         TreeData<String> 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.

        Specified by:

        setItems in interface HasItems<T>

        Parameters:

        items - the data items to display, not null

        See Also:

        HasItems.setItems(Collection)

      • setItems

        default void setItems​(T... items)

        Sets the data items of this listing.

        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 HasDataProvider.setDataProvider(DataProvider) method. It means that the items collection can be accessed later on via getTreeData():

         
         TreeGrid<String> treeGrid = new TreeGrid<>();
         treeGrid.setItems("a","b");
         ...
        
         TreeData<String> 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.

        Specified by:

        setItems in interface HasItems<T>

        Parameters:

        items - the data items to display, not null

        See Also:

        HasItems.setItems(Collection)