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>, OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputConfigurator<T,ITEM,C>, OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputBuilder<T>, OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputConfigurator<T,C>, OptionsModeMultiSelectInputBuilder.ValidatableDatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.ValidatableDatastorePropertyOptionsModeMultiSelectInputBuilder<T>, OptionsModeSingleSelectInputBuilder.DatastoreItemOptionsModeSingleSelectInputBuilder<T,ITEM>, OptionsModeSingleSelectInputBuilder.DatastoreItemOptionsModeSingleSelectInputConfigurator<T,ITEM,C>, OptionsModeSingleSelectInputBuilder.DatastorePropertyOptionsModeSingleSelectInputBuilder<T>, OptionsModeSingleSelectInputBuilder.DatastorePropertyOptionsModeSingleSelectInputConfigurator<T,C>, OptionsModeSingleSelectInputBuilder.ValidatableDatastoreItemOptionsModeSingleSelectInputBuilder<T,ITEM>, OptionsModeSingleSelectInputBuilder.ValidatableDatastorePropertyOptionsModeSingleSelectInputBuilder<T>, PropertyListingBuilder.DatastorePropertyListingBuilder, SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputConfigurator<T,ITEM,C>, SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputBuilder<T>, SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputConfigurator<T,C>, SelectModeSingleSelectInputBuilder.ValidatableDatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.ValidatableDatastorePropertySelectModeSingleSelectInputBuilder<T>

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

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

- - ### 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 © 2019 The Holon Platform. All rights reserved.