com.holonplatform.vaadin.flow.components.builders

## Interface DatastoreDataProviderConfigurator<ITEM,C extends DatastoreDataProviderConfigurator<ITEM,C>>

- Type Parameters:
    `ITEM` - Item data type
    `C` - Concrete configurator type
  All Known Subinterfaces:
    BeanListingBuilder.DatastoreBeanListingBuilder<T>, DatastoreDataProviderConfigurator.DatastoreDataProviderSelectConfigurator<ITEM,C>, FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputConfigurator<T,ITEM,C>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputConfigurator<T,C>, FilterableSingleSelectConfigurator.ValidatableDatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.ValidatableDatastorePropertyFilterableSingleSelectInputBuilder<T>, ListMultiSelectConfigurator.DatastoreListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.DatastoreListMultiSelectInputConfigurator<T,ITEM,C>, ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputBuilder<T>, ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputConfigurator<T,C>, ListMultiSelectConfigurator.ValidatableDatastoreListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.ValidatableDatastorePropertyListMultiSelectInputBuilder<T>, ListSingleSelectConfigurator.DatastoreListSingleSelectInputBuilder<T,ITEM>, ListSingleSelectConfigurator.DatastoreListSingleSelectInputConfigurator<T,ITEM,C>, ListSingleSelectConfigurator.DatastorePropertyListSingleSelectInputBuilder<T>, ListSingleSelectConfigurator.DatastorePropertyListSingleSelectInputConfigurator<T,C>, ListSingleSelectConfigurator.ValidatableDatastoreListSingleSelectInputBuilder<T,ITEM>, ListSingleSelectConfigurator.ValidatableDatastorePropertyListSingleSelectInputBuilder<T>, OptionsMultiSelectConfigurator.DatastoreOptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.DatastoreOptionsMultiSelectInputConfigurator<T,ITEM,C>, OptionsMultiSelectConfigurator.DatastorePropertyOptionsMultiSelectInputBuilder<T>, OptionsMultiSelectConfigurator.DatastorePropertyOptionsMultiSelectInputConfigurator<T,C>, OptionsMultiSelectConfigurator.ValidatableDatastoreOptionsMultiSelectInputBuilder<T,ITEM>, OptionsMultiSelectConfigurator.ValidatableDatastorePropertyOptionsMultiSelectInputBuilder<T>, OptionsSingleSelectConfigurator.DatastoreOptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.DatastoreOptionsSingleSelectInputConfigurator<T,ITEM,C>, OptionsSingleSelectConfigurator.DatastorePropertyOptionsSingleSelectInputBuilder<T>, OptionsSingleSelectConfigurator.DatastorePropertyOptionsSingleSelectInputConfigurator<T,C>, OptionsSingleSelectConfigurator.ValidatableDatastoreOptionsSingleSelectInputBuilder<T,ITEM>, OptionsSingleSelectConfigurator.ValidatableDatastorePropertyOptionsSingleSelectInputBuilder<T>, PropertyListingBuilder.DatastorePropertyListingBuilder, PropertyListingBuilder.DatastorePropertyListingConfigurator, SingleSelectConfigurator.DatastorePropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.DatastorePropertySingleSelectInputConfigurator<T,C>, SingleSelectConfigurator.DatastoreSingleSelectInputBuilder<T,ITEM>, SingleSelectConfigurator.DatastoreSingleSelectInputConfigurator<T,ITEM,C>, SingleSelectConfigurator.ValidatableDatastorePropertySingleSelectInputBuilder<T>, SingleSelectConfigurator.ValidatableDatastoreSingleSelectInputBuilder<T,ITEM>

      public interface DatastoreDataProviderConfigurator<ITEM,C extends DatastoreDataProviderConfigurator<ITEM,C>>

  Configurator for components which supports a `DatastoreDataProvider`.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `DatastoreDataProviderConfigurator.DatastoreDataProviderSelectConfigurator<ITEM,C extends DatastoreDataProviderConfigurator.DatastoreDataProviderSelectConfigurator<ITEM,C>>` DatastoreDataProviderConfigurator for select type input components.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `C` | `itemIdentifierProvider(Function<ITEM,Object> itemIdentifierProvider)` Set the function to use to obtain the item identifiers.
    `C` | `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`.
    `C` | `withDefaultQuerySort(com.holonplatform.core.query.QuerySort defaultQuerySort)` Add a default `QuerySort` to the data provider queries.
    `C` | `withQueryConfigurationProvider(com.holonplatform.core.query.QueryConfigurationProvider queryConfigurationProvider)` Add a `QueryConfigurationProvider` to provide additional query configuration parameters, such as `QueryFilter` and `QuerySort`.
    `default C` | `withQueryFilter(com.holonplatform.core.query.QueryFilter queryFilter)` Add a fixed `QueryFilter` to the data provider queries.
    `default C` | `withQuerySort(com.holonplatform.core.query.QuerySort querySort)` Add a fixed `QuerySort` to the data provider queries.

- - ### Method Detail

    - #### withQueryConfigurationProvider

          C 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 C 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 C 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

          C 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

          C itemIdentifierProvider(Function<ITEM,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

          C 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

Copyright © 2020 The Holon Platform. All rights reserved.