You're viewing an older version of Vaadin JavaDoc. Please see version 24.7.0 for the latest.
com.vaadin.flow.data.provider.hierarchy.

Class HierarchicalDataCommunicator<T>

    • Constructor Detail

      • HierarchicalDataCommunicator

        public HierarchicalDataCommunicator​(CompositeDataGenerator<T> dataGenerator,
                                            HierarchicalArrayUpdater arrayUpdater,
                                            SerializableConsumer<elemental.json.JsonArray> dataUpdater,
                                            StateNode stateNode,
                                            SerializableSupplier<ValueProvider<T,​String>> uniqueKeyProviderSupplier)

        Construct a new hierarchical data communicator backed by a TreeDataProvider.

        Parameters:

        dataGenerator - the data generator function

        arrayUpdater - array updater strategy

        dataUpdater - data updater strategy

        stateNode - the state node used to communicate for

        uniqueKeyProviderSupplier - Unique key provider for a row. If null, then using Grid's default key generator.

    • Method Detail

      • reset

        public void reset()

        Resets all the data.

        It effectively resends all available data.

        Overrides:

        reset in class DataCommunicator<T>

      • fetchFromProvider

        public Stream<T> fetchFromProvider​(int offset,
                                           int limit)

        Description copied from class: DataCommunicator

        Fetches a list of items from the DataProvider.

        NOTE: the limit parameter shows how many items the client wants to fetch, but the actual number of results may be greater, and vary from 0 to pages * pageSize.

        Overrides:

        fetchFromProvider in class DataCommunicator<T>

        Parameters:

        offset - the starting index of the range

        limit - the desired number of results

        Returns:

        the list of items in given range

      • setParentRequestedRange

        public void setParentRequestedRange​(int start,
                                            int length,
                                            T parentItem)
      • setDataProvider

        public <F> SerializableConsumer<F> setDataProvider​(HierarchicalDataProvider<T,​F> dataProvider,
                                                           F initialFilter)

        Set the current hierarchical data provider for this communicator.

        Type Parameters:

        F - the filter type

        Parameters:

        dataProvider - the data provider to set, not null

        initialFilter - the initial filter value to use, or null to not use any initial filter value

        Returns:

        a consumer that accepts a new filter value to use

      • createHierarchyMapper

        protected <F> HierarchyMapper<T,​F> createHierarchyMapper​(HierarchicalDataProvider<T,​F> dataProvider)

        Create new HierarchyMapper for the given data provider. May be overridden in subclasses.

        Type Parameters:

        F - Query type

        Parameters:

        dataProvider - the data provider

        Returns:

        new HierarchyMapper

      • setDataProvider

        public <F> SerializableConsumer<F> setDataProvider​(DataProvider<T,​F> dataProvider,
                                                           F initialFilter)

        Set the current hierarchical data provider for this communicator.

        Overrides:

        setDataProvider in class DataCommunicator<T>

        Type Parameters:

        F - the filter type

        Parameters:

        dataProvider - the data provider to set, must extend HierarchicalDataProvider, not null

        initialFilter - the initial filter value to use, or null to not use any initial filter value

        Returns:

        a consumer that accepts a new filter value to use

      • confirmUpdate

        public void confirmUpdate​(int id,
                                  String parentKey)
      • collapse

        public void collapse​(T item)

        Collapses the given item and removes its sub-hierarchy. Calling this method will have no effect if the row is already collapsed.

        Changes are synchronized to the client.

        Parameters:

        item - the item to collapse

      • collapse

        protected void collapse​(T item,
                                boolean syncClient)

        Collapses the given item and removes its sub-hierarchy. Calling this method will have no effect if the row is already collapsed. syncClient indicates whether the changes should be synchronized to the client.

        Parameters:

        item - the item to collapse

        syncClient - true if the changes should be synchronized to the client, false otherwise.

      • collapse

        public Collection<T> collapse​(Collection<T> items)

        Collapses the given items and removes its sub-hierarchy. Calling this method will have no effect if the row is already collapsed.

        Changes are synchronized to the client.

        Parameters:

        items - the items to collapse

        Returns:

        the collapsed items

      • expand

        public void expand​(T item)

        Expands the given item. Calling this method will have no effect if the item is already expanded or if it has no children.

        Changes are synchronized to the client.

        Parameters:

        item - the item to expand

      • expand

        public Collection<T> expand​(Collection<T> items)

        Expands the given items. Calling this method will have no effect if the item is already expanded or if it has no children.

        Changes are synchronized to the client.

        Parameters:

        items - the items to expand

        Returns:

        the expanded items

      • expand

        protected void expand​(T item,
                              boolean syncClient)

        Expands the given item. Calling this method will have no effect if the item is already expanded or if it has no children. syncClient indicates whether the changes should be synchronized to the client.

        Parameters:

        item - the item to expand

        syncClient - true if the changes should be synchronized to the client, false otherwise.

      • hasChildren

        public boolean hasChildren​(T item)

        Returns whether given item has children.

        Parameters:

        item - the item to test

        Returns:

        true if item has children; false if not

      • isExpanded

        public boolean isExpanded​(T item)

        Returns whether given item is expanded.

        Parameters:

        item - the item to test

        Returns:

        true if item is expanded; false if not

      • getParentIndex

        public Integer getParentIndex​(T item)

        Returns parent index for the row or null.

        Parameters:

        item - the item to find the parent of

        Returns:

        the parent index or null for top-level items

      • getIndex

        public Integer getIndex​(T item)

        Returns index for the row or null.

        Parameters:

        item - the target item

        Returns:

        the index or null for top-level and non-existing items

      • getParentItem

        public T getParentItem​(T item)

        Returns parent item for the row or null.

        Parameters:

        item - the item to find the parent of

        Returns:

        the parent item or null for top-level items

      • getDepth

        public int getDepth​(T item)

        Returns depth of item in the tree starting from zero representing a root.

        Parameters:

        item - Target item

        Returns:

        depth of item in the tree or -1 if item is null

      • getDataProviderSize

        public int getDataProviderSize()

        Description copied from class: DataCommunicator

        Getter method for determining the item count of the data.

        This method should be used only with defined size, i.e. when DataCommunicator.isDefinedSize() returns true.

        Can be overridden by a subclass that uses a specific type of DataProvider and/or query.

        Overrides:

        getDataProviderSize in class DataCommunicator<T>

        Returns:

        the size of data provider with current filter

      • setFilter

        protected <F> void setFilter​(F filter)
      • hasExpandedItems

        public boolean hasExpandedItems()

        Returns true if there is any expanded items.

        Returns:

        true if there is any expanded items.

      • getHierarchyMapper

        protected HierarchyMapper<T,​?> getHierarchyMapper()

        Returns the HierarchyMapper used by this data communicator.

        Returns:

        the hierarchy mapper used by this data communicator