com.holonplatform.vaadin.components.builders

## Interface PropertySelectInputBuilder<T,C extends Input<T>,S,B extends PropertySelectInputBuilder<T,C,S,B>>

- Type Parameters:
    `T` - Value type
    `C` - Component type
    `S` - Selection type
    `B` - Concrete builder type
  All Superinterfaces:
    BaseSelectInputBuilder<T,C,S,com.holonplatform.core.property.PropertyBox,B>, ComponentConfigurator<B>, InputBuilder<T,C,B>, InputConfigurator<T,B>
  All Known Subinterfaces:
    BaseSelectModeMultiPropertySelectInputBuilder<T,B>, BaseSelectModeMultiPropertySelectInputBuilder.OptionsModeMultiPropertySelectInputBuilder<T>, BaseSelectModeMultiPropertySelectInputBuilder.SelectModeMultiPropertySelectInputBuilder<T>, BaseSelectModeSinglePropertySelectInputBuilder<T,B>, BaseSelectModeSinglePropertySelectInputBuilder.NativeModeSinglePropertySelectInputBuilder<T>, BaseSelectModeSinglePropertySelectInputBuilder.OptionsModeSinglePropertySelectInputBuilder<T>, BaseSelectModeSinglePropertySelectInputBuilder.SelectModeSinglePropertySelectInputBuilder<T>, MultiPropertySelectInputBuilder<T,B>, MultiPropertySelectInputBuilder.GenericMultiPropertySelectInputBuilder<T>, SinglePropertySelectInputBuilder<T,B>, SinglePropertySelectInputBuilder.GenericSinglePropertySelectInputBuilder<T>

      public interface PropertySelectInputBuilder<T,C extends Input<T>,S,B extends PropertySelectInputBuilder<T,C,S,B>>
      extends BaseSelectInputBuilder<T,C,S,com.holonplatform.core.property.PropertyBox,B>

  Builder to create selection `Input`s with `Property` data source support.
  Since:
    5.0.0

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.components.builders.BaseSelectInputBuilder

      `BaseSelectInputBuilder.MultiSelectConfigurator<T,ITEM,B extends BaseSelectInputBuilder.MultiSelectConfigurator<T,ITEM,B>>, BaseSelectInputBuilder.RenderingMode, BaseSelectInputBuilder.SingleSelectConfigurator<T,ITEM,B extends BaseSelectInputBuilder.SingleSelectConfigurator<T,ITEM,B>>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.components.builders.InputConfigurator

      `InputConfigurator.BaseFieldConfigurator<T>`

    - ### Nested classes/interfaces inherited from interface com.holonplatform.vaadin.components.builders.ComponentConfigurator

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default <P extends com.holonplatform.core.property.Property> B` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> dataTarget, Iterable<P> properties, com.holonplatform.core.query.QueryConfigurationProvider... queryConfigurationProviders)` Use given `Datastore` with given `dataTarget` as items data source.
    `default B` | `dataSource(com.holonplatform.core.datastore.Datastore datastore, com.holonplatform.core.datastore.DataTarget<?> dataTarget, com.holonplatform.core.property.Property<?>... properties)` Use given `Datastore` with given `dataTarget` as items data source.
    `B` | `dataSource(ItemDataProvider<com.holonplatform.core.property.PropertyBox> dataProvider)` Set the selection items data provider to obtain items.
    `B` | `itemConverter(ItemConverter<S,com.holonplatform.core.property.PropertyBox> itemConverter)` Set the `ItemConverter` to be used to convert the select property value to the model `PropertyBox`.

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

      `itemCaption, itemCaption, itemCaption, itemCaptionGenerator, itemDescriptionGenerator, itemIcon, itemIconGenerator`

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

      `asField, build, deferLocalization, dragSource, dropTarget, validatable`

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

      `locale, readOnly, tabIndex, withValue, withValueChangeListener`

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

      `caption, caption, caption, captionAsHtml, description, description, description, disabled, errorHandler, fullHeight, fullSize, fullWidth, height, height, heightUndefined, hidden, icon, id, notVisible, primaryStyleName, replaceStyleName, responsive, sizeUndefined, styleName, width, width, widthUndefined, withAttachListener, withContextClickListener, withData, withDetachListener, withShortcutListener`

- - ### Method Detail

    - #### dataSource

          B dataSource(ItemDataProvider<com.holonplatform.core.property.PropertyBox> dataProvider)

      Set the selection items data provider to obtain items.
      Parameters:
        `dataProvider` - Items data provider (not null)
      Returns:
        this

    - #### dataSource

          default <P extends com.holonplatform.core.property.Property> B dataSource(com.holonplatform.core.datastore.Datastore datastore,
                                                                                    com.holonplatform.core.datastore.DataTarget<?> dataTarget,
                                                                                    Iterable<P> properties,
                                                                                    com.holonplatform.core.query.QueryConfigurationProvider... queryConfigurationProviders)

      Use given `Datastore` with given `dataTarget` as items data source.
      Type Parameters:
        `P` - Property type
      Parameters:
        `datastore` - Datastore to use (not null)
        `dataTarget` - Data target to use to load items (not null)
        `properties` - Item property set (not null)
        `queryConfigurationProviders` - Optional additional `QueryConfigurationProvider`s
      Returns:
        this

    - #### dataSource

          default B dataSource(com.holonplatform.core.datastore.Datastore datastore,
                               com.holonplatform.core.datastore.DataTarget<?> dataTarget,
                               com.holonplatform.core.property.Property<?>... properties)

      Use given `Datastore` with given `dataTarget` as items data source.
      Parameters:
        `datastore` - Datastore to use (not null)
        `dataTarget` - Data target to use to load items (not null)
        `properties` - Item property set (not null)
      Returns:
        this

    - #### itemConverter

          B itemConverter(ItemConverter<S,com.holonplatform.core.property.PropertyBox> itemConverter)

      Set the `ItemConverter` to be used to convert the select property value to the model `PropertyBox`.

      The item converter is required when the select value type is not a `PropertyBox` to allow value selection using `ValueHolder.setValue(Object)` or `Selectable.select(Object)`.

      Parameters:
        `itemConverter` - The `ItemConverter` to set (not null)
      Returns:
        this

Copyright © 2019 The Holon Platform. All rights reserved.