com.holonplatform.vaadin.flow.components.builders

## Interface SelectModeSingleSelectInputBuilder<T,ITEM,B extends SelectModeSingleSelectInputBuilder<T,ITEM,B>>

- Type Parameters:
    `T` - Value type
    `ITEM` - Item type
    `B` - Concrete builder type
  All Superinterfaces:
    ComponentConfigurator<B>, DeferrableLocalizationConfigurator<B>, FocusableConfigurator<com.vaadin.flow.component.Component,B>, HasAutofocusConfigurator<B>, HasDeferrableLocalization, HasElementConfigurator<B>, HasEnabledConfigurator<B>, HasLabelConfigurator<B>, HasPatternConfigurator<B>, HasPlaceholderConfigurator<B>, HasSizeConfigurator<B>, HasStyleConfigurator<B>, InputConfigurator<T,ValueHolder.ValueChangeEvent<T>,B>, ItemSetConfigurator<B>, SelectableInputConfigurator<T,T,B>, SingleSelectInputConfigurator<T,ITEM,B>
  All Known Subinterfaces:
    SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputConfigurator<T,ITEM,C>, SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputBuilder<T>, SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputConfigurator<T,C>, SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputConfigurator<T,ITEM,D,C>, SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T>, SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputConfigurator<T,D,C>, SelectModeSingleSelectInputBuilder.ValidatableDatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.ValidatableDatastorePropertySelectModeSingleSelectInputBuilder<T>, SelectModeSingleSelectInputBuilder.ValidatableItemSelectModeSingleSelectInputBuilder<T,ITEM>, SelectModeSingleSelectInputBuilder.ValidatablePropertySelectModeSingleSelectInputBuilder<T>

      public interface SelectModeSingleSelectInputBuilder<T,ITEM,B extends SelectModeSingleSelectInputBuilder<T,ITEM,B>>
      extends SingleSelectInputConfigurator<T,ITEM,B>, HasSizeConfigurator<B>, HasLabelConfigurator<B>, HasPlaceholderConfigurator<B>, HasPatternConfigurator<B>, HasAutofocusConfigurator<B>, FocusableConfigurator<com.vaadin.flow.component.Component,B>

  `SingleSelect` input builder for the select rendering mode.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>` `SingleSelect` input builder for the select rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputConfigurator<T,ITEM,C extends SelectModeSingleSelectInputBuilder.DatastoreItemSelectModeSingleSelectInputConfigurator<T,ITEM,C>>` `SingleSelect` input configurator for the select rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputBuilder<T>` `Property` model based `SingleSelect` input builder for the select rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputConfigurator<T,C extends SelectModeSingleSelectInputBuilder.DatastorePropertySelectModeSingleSelectInputConfigurator<T,C>>` `Property` model based `SingleSelect` input configurator for the select rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,ITEM>` `SingleSelect` input builder for the select rendering mode.
    `static interface` | `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputConfigurator<T,ITEM,D extends DatastoreDataProviderConfigurator<ITEM,D>,C extends SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputConfigurator<T,ITEM,D,C>>` `SingleSelect` input configurator for the select rendering mode.
    `static interface` | `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T>` `Property` model based `SingleSelect` input builder for the select rendering mode.
    `static interface` | `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputConfigurator<T,D extends DatastoreDataProviderConfigurator<com.holonplatform.core.property.PropertyBox,D>,C extends SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputConfigurator<T,D,C>>` `Property` model based `SingleSelect` input configurator for the select rendering mode.
    `static interface` | `SelectModeSingleSelectInputBuilder.ValidatableDatastoreItemSelectModeSingleSelectInputBuilder<T,ITEM>` `SingleSelect` input builder for the select rendering mode with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.ValidatableDatastorePropertySelectModeSingleSelectInputBuilder<T>` `Property` model based `SingleSelect` input builder for the select rendering mode with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `SelectModeSingleSelectInputBuilder.ValidatableItemSelectModeSingleSelectInputBuilder<T,ITEM>` `SingleSelect` input builder for the select rendering mode with validation support.
    `static interface` | `SelectModeSingleSelectInputBuilder.ValidatablePropertySelectModeSingleSelectInputBuilder<T>` `Property` model based `SingleSelect` input builder for the select rendering mode with validation support.

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

      `ItemSetConfigurator.ItemCaptionGenerator<ITEM>`

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

      `InputConfigurator.BaseInputConfigurator<T>`

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

      `ComponentConfigurator.BaseComponentConfigurator`

  - ### Field Summary

    - ### Fields inherited from interface com.holonplatform.vaadin.flow.components.builders.HasSizeConfigurator

      `FULL_SIZE`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,T>` | `create(Class<T> type)` Create a new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`.
    `static <T,ITEM> SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,ITEM>` | `create(Class<T> type, Class<ITEM> itemType, ItemConverter<T,ITEM> itemConverter)` Create a new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`.
    `static <T> SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty)` Create a new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder` using given selection `Property` and converter.
    `static <T> SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty, Function<T,Optional<com.holonplatform.core.property.PropertyBox>> itemConverter)` Create a new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder` using given selection `Property`.
    `B` | `dataSource(com.vaadin.flow.data.provider.ListDataProvider<ITEM> dataProvider)` Set the items data provider using a `ListDataProvider`.
    `B` | `itemCaption(ITEM item, com.holonplatform.core.i18n.Localizable caption)` Set an explicit caption for given item.
    `default B` | `itemCaption(ITEM item, String caption)` Set an explicit caption for given item.
    `default B` | `itemCaption(ITEM item, String caption, String messageCode)` Set an explicit caption for given item.
    `B` | `itemCaptionGenerator(ItemSetConfigurator.ItemCaptionGenerator<ITEM> itemCaptionGenerator)` Set the generator to be used to display item captions (i.e. labels).
    `B` | `pageSize(int pageSize)` Sets the page size, which is the number of items fetched at a time from the data provider.
    `B` | `renderer(com.vaadin.flow.data.renderer.Renderer<ITEM> renderer)` Sets the Renderer responsible to render the individual items in the list of possible choices.

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

      `withSelectionListener`

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

      `readOnly, readOnly, required, required, withValueChangeListener`

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

      `hidden, id, visible, withAttachListener, withDetachListener`

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

      `withEventListener, withEventListener, withThemeName`

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

      `styleName, styleNames`

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

      `disabled, enabled`

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

      `deferLocalization, withDeferredLocalization`

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

      `isDeferredLocalizationEnabled`

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

      `fullHeight, fullSize, fullWidth, height, height, heightUndefined, sizeUndefined, width, width, widthUndefined`

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

      `label, label, label`

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

      `placeholder, placeholder, placeholder`

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

      `pattern, preventInvalidInput, preventInvalidInput`

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

      `autofocus`

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

      `tabIndex, withBlurListener, withFocusListener`

- - ### Method Detail

    - #### renderer

          B renderer(com.vaadin.flow.data.renderer.Renderer<ITEM> renderer)

      Sets the Renderer responsible to render the individual items in the list of possible choices.

      It doesn't affect how the selected item is rendered - that can be configured by using `itemCaptionGenerator(com.holonplatform.vaadin.flow.components.builders.ItemSetConfigurator.ItemCaptionGenerator)`.

      Parameters:
        `renderer` - a renderer for the items in the selection list, not `null`
      Returns:
        this

    - #### itemCaptionGenerator

          B itemCaptionGenerator(ItemSetConfigurator.ItemCaptionGenerator<ITEM> itemCaptionGenerator)

      Set the generator to be used to display item captions (i.e. labels).
      Parameters:
        `itemCaptionGenerator` - The generator to set (not null)
      Returns:
        this

    - #### itemCaption

          B itemCaption(ITEM item,
                        com.holonplatform.core.i18n.Localizable caption)

      Set an explicit caption for given item.

      This is an alternative for `itemCaptionGenerator(com.holonplatform.vaadin.flow.components.builders.ItemSetConfigurator.ItemCaptionGenerator)`. When an `ItemCaptionGenerator` is configured, explicit item captions will be ignored.

      Parameters:
        `item` - Item to set the caption for (not null)
        `caption` - Item caption (not null)
      Returns:
        this

    - #### itemCaption

          default B itemCaption(ITEM item,
                                String caption)

      Set an explicit caption for given item.
      Parameters:
        `item` - Item to set the caption for (not null)
        `caption` - Item caption
      Returns:
        this

    - #### itemCaption

          default B itemCaption(ITEM item,
                                String caption,
                                String messageCode)

      Set an explicit caption for given item.
      Parameters:
        `item` - Item to set the caption for (not null)
        `caption` - Item caption
        `messageCode` - Item caption translation code
      Returns:
        this

    - #### pageSize

          B pageSize(int pageSize)

      Sets the page size, which is the number of items fetched at a time from the data provider.

      The page size is also the largest number of items that can support client-side filtering. If you provide more items than the page size, the component has to fall back to server-side filtering.

      The default page size is 50.

      Parameters:
        `pageSize` - the maximum number of items sent per request, must be greater than zero
      Returns:
        this

    - #### dataSource

          B dataSource(com.vaadin.flow.data.provider.ListDataProvider<ITEM> dataProvider)

      Set the items data provider using a `ListDataProvider`.

      Filtering will use a case insensitive match to show all items where the filter text is a substring of the label displayed for that item, which you can configure with `itemCaptionGenerator(com.holonplatform.vaadin.flow.components.builders.ItemSetConfigurator.ItemCaptionGenerator)`.

      Parameters:
        `dataProvider` - The data provider to set
      Returns:
        this

    - #### create

          static <T,ITEM> SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,ITEM> create(Class<T> type,
                                                                                                                   Class<ITEM> itemType,
                                                                                                                   ItemConverter<T,ITEM> itemConverter)

      Create a new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`.
      Type Parameters:
        `T` - Value type
        `ITEM` - Item type
      Parameters:
        `type` - Selection value type (not null)
        `itemType` - Selection items type (not null)
        `itemConverter` - The item converter to use (not null)
      Returns:
        A new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`

    - #### create

          static <T> SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder<T,T> create(Class<T> type)

      Create a new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`.
      Type Parameters:
        `T` - Value type
      Parameters:
        `type` - Selection value type (not null)
      Returns:
        A new `SelectModeSingleSelectInputBuilder.ItemSelectModeSingleSelectInputBuilder`

    - #### create

          static <T> SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T> create(com.holonplatform.core.property.Property<T> selectionProperty)

      Create a new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder` using given selection `Property` and converter.
      Type Parameters:
        `T` - Value type
      Parameters:
        `selectionProperty` - The property to use to represent the selection value (not null)
      Returns:
        A new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder`

    - #### create

          static <T> SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder<T> create(com.holonplatform.core.property.Property<T> selectionProperty,
                                                                                                             Function<T,Optional<com.holonplatform.core.property.PropertyBox>> itemConverter)

      Create a new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder` using given selection `Property`.
      Type Parameters:
        `T` - Value type
      Parameters:
        `selectionProperty` - The property to use to represent the selection value (not null)
        `itemConverter` - The function to use to convert a selection value into the corresponding `PropertyBox` item
      Returns:
        A new `SelectModeSingleSelectInputBuilder.PropertySelectModeSingleSelectInputBuilder`

Copyright © 2019 The Holon Platform. All rights reserved.