Class AbstractBackEndHierarchicalDataProvider<T,F>

java.lang.Object
com.vaadin.flow.data.provider.AbstractDataProvider<T,F>
com.vaadin.flow.data.provider.hierarchy.AbstractHierarchicalDataProvider<T,F>
com.vaadin.flow.data.provider.hierarchy.AbstractBackEndHierarchicalDataProvider<T,F>
Type Parameters:
T - data type
F - filter type
All Implemented Interfaces:
BackEndDataProvider<T,F>, DataProvider<T,F>, BackEndHierarchicalDataProvider<T,F>, HierarchicalDataProvider<T,F>, Serializable

public abstract class AbstractBackEndHierarchicalDataProvider<T,F> extends AbstractHierarchicalDataProvider<T,F> implements BackEndHierarchicalDataProvider<T,F>
Abstract base class for implementing BackEndHierarchicalDataProviders.
Since:
1.2
Author:
Vaadin Ltd
See Also:
  • Constructor Details

    • AbstractBackEndHierarchicalDataProvider

      public AbstractBackEndHierarchicalDataProvider()
  • Method Details

    • fetchChildren

      public Stream<T> fetchChildren(HierarchicalQuery<T,F> query)
      Description copied from interface: HierarchicalDataProvider
      Fetches data from this HierarchicalDataProvider using given query. Only the immediate children of HierarchicalQuery.getParent() will be returned.
      Specified by:
      fetchChildren in interface HierarchicalDataProvider<T,F>
      Parameters:
      query - given query to request data with
      Returns:
      a stream of data objects resulting from the query
    • isInMemory

      public boolean isInMemory()
      Description copied from interface: DataProvider
      Gets whether the DataProvider content all available in memory or does it use some external backend.
      Specified by:
      isInMemory in interface BackEndDataProvider<T,F>
      Specified by:
      isInMemory in interface DataProvider<T,F>
      Returns:
      true if all data is in memory; false if not
    • setSortOrders

      public void setSortOrders(List<QuerySortOrder> sortOrders)
      Description copied from interface: BackEndDataProvider
      Sets a list of sort orders to use as the default sorting for this data provider. This overrides the sorting set by any other method that manipulates the default sorting of this data provider.

      The default sorting is used if the query defines no sorting. The default sorting is also used to determine the ordering of items that are considered equal by the sorting defined in the query.

      Specified by:
      setSortOrders in interface BackEndDataProvider<T,F>
      Parameters:
      sortOrders - a list of sort orders to set, not null
      See Also:
    • fetchChildrenFromBackEnd

      protected abstract Stream<T> fetchChildrenFromBackEnd(HierarchicalQuery<T,F> query)
      Fetches data from the back end using the given query.
      Parameters:
      query - the query that defines sorting, filtering, paging and the parent item to fetch children from
      Returns:
      a stream of items matching the query
      See Also: