com.holonplatform.vaadin.flow.data

## Interface DatastoreDataProvider.Builder<T,F>

- Type Parameters:
    `T` - Data type
    `F` - Query filter type
  All Known Subinterfaces:
    DatastoreDataProvider.PropertyBoxItemBuilder<F>
  Enclosing interface:
    DatastoreDataProvider<T,F>

      public static interface DatastoreDataProvider.Builder<T,F>

  `DatastoreDataProvider` builder.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `DatastoreDataProvider.Builder<T,F>` | `additionalItemsProvider(AdditionalItemsProvider<T> additionalItemsProvider)` Set the additional items provider.
    `DatastoreDataProvider<T,F>` | `build()` Build the `DatastoreDataProvider`.
    `DatastoreDataProvider.Builder<T,F>` | `itemIdentifierProvider(Function<T,Object> itemIdentifierProvider)` Set the function to use to obtain the item identifiers.
    `DatastoreDataProvider.Builder<T,F>` | `querySortOrderConverter(Function<com.vaadin.flow.data.provider.QuerySortOrder,com.holonplatform.core.query.QuerySort> querySortOrderConverter)` Set the function to use to convert a `QuerySortOrder` declaration into a `QuerySort`.
    `DatastoreDataProvider.Builder<T,F>` | `withDefaultQuerySort(com.holonplatform.core.query.QuerySort defaultQuerySort)` Add a default `QuerySort` to the data provider queries.
    `DatastoreDataProvider.Builder<T,F>` | `withQueryConfigurationProvider(com.holonplatform.core.query.QueryConfigurationProvider queryConfigurationProvider)` Add a `QueryConfigurationProvider` to provide additional query configuration parameters, such as `QueryFilter` and `QuerySort`.
    `default DatastoreDataProvider.Builder<T,F>` | `withQueryFilter(com.holonplatform.core.query.QueryFilter queryFilter)` Add a fixed `QueryFilter` to the data provider queries.
    `default DatastoreDataProvider.Builder<T,F>` | `withQuerySort(com.holonplatform.core.query.QuerySort querySort)` Add a fixed `QuerySort` to the data provider queries.

- - ### Method Detail

    - #### withQueryConfigurationProvider

          DatastoreDataProvider.Builder<T,F> withQueryConfigurationProvider(com.holonplatform.core.query.QueryConfigurationProvider queryConfigurationProvider)

      Add a `QueryConfigurationProvider` to provide additional query configuration parameters, such as `QueryFilter` and `QuerySort`.
      Parameters:
        `queryConfigurationProvider` - the `QueryConfigurationProvider` to add (not null)
      Returns:
        this

    - #### withQueryFilter

          default DatastoreDataProvider.Builder<T,F> withQueryFilter(com.holonplatform.core.query.QueryFilter queryFilter)

      Add a fixed `QueryFilter` to the data provider queries.
      Parameters:
        `queryFilter` - The filter to add (not null)
      Returns:
        this

    - #### withQuerySort

          default DatastoreDataProvider.Builder<T,F> withQuerySort(com.holonplatform.core.query.QuerySort querySort)

      Add a fixed `QuerySort` to the data provider queries.

      The provided sort will be appended to any other dynamic sort of the queries.

      Parameters:
        `querySort` - The sort to add (not null)
      Returns:
        this

    - #### withDefaultQuerySort

          DatastoreDataProvider.Builder<T,F> withDefaultQuerySort(com.holonplatform.core.query.QuerySort defaultQuerySort)

      Add a default `QuerySort` to the data provider queries.

      The provided sort will be used when no other sort is available for the queries.

      Parameters:
        `defaultQuerySort` - The default sort to add
      Returns:
        this

    - #### itemIdentifierProvider

          DatastoreDataProvider.Builder<T,F> itemIdentifierProvider(Function<T,Object> itemIdentifierProvider)

      Set the function to use to obtain the item identifiers.
      Parameters:
        `itemIdentifierProvider` - the function to use to obtain the item identifiers (not null)
      Returns:
        this

    - #### querySortOrderConverter

          DatastoreDataProvider.Builder<T,F> querySortOrderConverter(Function<com.vaadin.flow.data.provider.QuerySortOrder,com.holonplatform.core.query.QuerySort> querySortOrderConverter)

      Set the function to use to convert a `QuerySortOrder` declaration into a `QuerySort`.

      By default, a property with a matching path name is used to obtain the `QuerySort`, if available in the configured query projection property set.

      Parameters:
        `querySortOrderConverter` - the function to use to convert a `QuerySortOrder` declaration into a `QuerySort` (not null)
      Returns:
        this

    - #### additionalItemsProvider

          DatastoreDataProvider.Builder<T,F> additionalItemsProvider(AdditionalItemsProvider<T> additionalItemsProvider)

      Set the additional items provider.
      Parameters:
        `additionalItemsProvider` - The additional items provider to set
      Returns:
        this

    - #### build

          DatastoreDataProvider<T,F> build()

      Build the `DatastoreDataProvider`.
      Returns:
        The `DatastoreDataProvider` instance

Copyright © 2020 The Holon Platform. All rights reserved.