com.holonplatform.vaadin.flow.components.builders

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

- Type Parameters:
    `ITEM` - Data item type
    `C` - Concrete configurator type
  All Superinterfaces:
    HasDataProviderConfigurator<ITEM,C>, HasItemsConfigurator<ITEM,C>

      public interface HasDatastoreDataProviderConfigurator<ITEM,D extends DatastoreDataProviderConfigurator<ITEM,D>,C extends HasDatastoreDataProviderConfigurator<ITEM,D,C>>
      extends HasDataProviderConfigurator<ITEM,C>

  `HasDataProviderConfigurator` with `Datastore` configuration support.
  Since:
    5.2.0

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `D` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> target, Class<ITEM> beanType)` Set the data provider which acts as items data source, using given `Datastore` as backend data handler and given `DataTarget` as query target.
    `<P extends com.holonplatform.core.property.Property> D` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> target, Function<com.holonplatform.core.property.PropertyBox,ITEM> itemConverter, Iterable<P> properties)` Set the data provider which acts as items data source, using given `Datastore` as backend data handler, given `DataTarget` as query target and given `properties` as query projection.
    `default D` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> target, Function<com.holonplatform.core.property.PropertyBox,ITEM> itemConverter, com.holonplatform.core.property.Property<?>... properties)` Set the data provider which acts as items data source, using given `Datastore` as backend data handler, given `DataTarget` as query target and given `properties` as query projection.

    - ### Methods inherited from interface com.holonplatform.vaadin.flow.components.builders.HasDataProviderConfigurator

      `addItem, dataSource, items, items`

- - ### Method Detail

    - #### dataSource

          <P extends com.holonplatform.core.property.Property> D dataSource(com.holonplatform.core.datastore.Datastore datastore,
                                                                            com.holonplatform.core.datastore.DataTarget<?> target,
                                                                            Function<com.holonplatform.core.property.PropertyBox,ITEM> itemConverter,
                                                                            Iterable<P> properties)

      Set the data provider which acts as items data source, using given `Datastore` as backend data handler, given `DataTarget` as query target and given `properties` as query projection. An `itemConverter` function is used to convert the Datastore `PropertyBox` data type into the required item type.
      Type Parameters:
        `P` - Property type
      Parameters:
        `datastore` - The `Datastore` to use (not null)
        `target` - The `DataTarget` to use as query target (not null)
        `itemConverter` - The function to use to convert the Datastore `PropertyBox` data type into the required item type
        `properties` - The property set to use as query projection (not null)
      Returns:
        An extended builder which allow further data provider configuration, for example to add fixed `QueryFilter` and `QuerySort`.
      See Also:
        `DatastoreDataProviderConfigurator`

    - #### dataSource

          default D dataSource(com.holonplatform.core.datastore.Datastore datastore,
                               com.holonplatform.core.datastore.DataTarget<?> target,
                               Function<com.holonplatform.core.property.PropertyBox,ITEM> itemConverter,
                               com.holonplatform.core.property.Property<?>... properties)

      Set the data provider which acts as items data source, using given `Datastore` as backend data handler, given `DataTarget` as query target and given `properties` as query projection. An `itemConverter` function is used to convert the Datastore `PropertyBox` data type into the required item type.
      Parameters:
        `datastore` - The `Datastore` to use (not null)
        `target` - The `DataTarget` to use as query target (not null)
        `itemConverter` - The function to use to convert the Datastore `PropertyBox` data type into the required item type
        `properties` - The property set to use as query projection (not null)
      Returns:
        An extended builder which allow further data provider configuration, for example to add fixed `QueryFilter` and `QuerySort`.
      See Also:
        `DatastoreDataProviderConfigurator`

    - #### dataSource

          D dataSource(com.holonplatform.core.datastore.Datastore datastore,
                       com.holonplatform.core.datastore.DataTarget<?> target,
                       Class<ITEM> beanType)

      Set the data provider which acts as items data source, using given `Datastore` as backend data handler and given `DataTarget` as query target. The Datastore `PropertyBox` type items will be converted into the required `beanType`.
      Parameters:
        `datastore` - The `Datastore` to use (not null)
        `target` - The `DataTarget` to use as query target (not null)
        `beanType` - The item bean type, must be compliant with the JavaBeans specifications
      Returns:
        An extended builder which allow further data provider configuration, for example to add fixed `QueryFilter` and `QuerySort`.
      See Also:
        `DatastoreDataProviderConfigurator`

Copyright © 2019 The Holon Platform. All rights reserved.