com.holonplatform.vaadin.flow.components.builders

## Interface FilterableSingleSelectConfigurator<T,ITEM,B extends FilterableSingleSelectConfigurator<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>, HasItemCaptionConfigurator<ITEM,B>, HasLabelConfigurator<B>, HasPatternConfigurator<B>, HasPlaceholderConfigurator<B>, HasSizeConfigurator<B>, HasStyleConfigurator<B>, InputConfigurator<T,ValueHolder.ValueChangeEvent<T>,B>, ItemSetConfigurator<B>, SelectableInputConfigurator<T,T,B>, SingleSelectableInputConfigurator<T,ITEM,B>
  All Known Subinterfaces:
    FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputConfigurator<T,ITEM,C>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputConfigurator<T,C>, FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.FilterableSingleSelectInputConfigurator<T,ITEM,D,C>, FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputConfigurator<T,D,C>, FilterableSingleSelectConfigurator.ValidatableDatastoreFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.ValidatableDatastorePropertyFilterableSingleSelectInputBuilder<T>, FilterableSingleSelectConfigurator.ValidatableFilterableSingleSelectInputBuilder<T,ITEM>, FilterableSingleSelectConfigurator.ValidatablePropertyFilterableSingleSelectInputBuilder<T>

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

  Filterable `SingleSelect` input builder using a `ComboBox` as input component.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputBuilder<T,ITEM>` Filterable `SingleSelect` input builder with `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputConfigurator<T,ITEM,C extends FilterableSingleSelectConfigurator.DatastoreFilterableSingleSelectInputConfigurator<T,ITEM,C>>` Filterable `SingleSelect` input configurator with `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputBuilder<T>` `Property` model based filterable `SingleSelect` input builder with `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputConfigurator<T,C extends FilterableSingleSelectConfigurator.DatastorePropertyFilterableSingleSelectInputConfigurator<T,C>>` `Property` model based filterable `SingleSelect` input configurator with `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,ITEM>` Filterable `SingleSelect` input builder.
    `static interface` | `FilterableSingleSelectConfigurator.FilterableSingleSelectInputConfigurator<T,ITEM,D extends DatastoreDataProviderConfigurator<ITEM,D>,C extends FilterableSingleSelectConfigurator.FilterableSingleSelectInputConfigurator<T,ITEM,D,C>>` Filterable `SingleSelect` input configurator.
    `static interface` | `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T>` `Property` model based filterable `SingleSelect` input builder.
    `static interface` | `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputConfigurator<T,D extends DatastoreDataProviderConfigurator<com.holonplatform.core.property.PropertyBox,D>,C extends FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputConfigurator<T,D,C>>` `Property` model based filterable `SingleSelect` input configurator.
    `static interface` | `FilterableSingleSelectConfigurator.ValidatableDatastoreFilterableSingleSelectInputBuilder<T,ITEM>` Filterable `SingleSelect` input builder with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.ValidatableDatastorePropertyFilterableSingleSelectInputBuilder<T>` `Property` model based filterable `SingleSelect` input builder with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `FilterableSingleSelectConfigurator.ValidatableFilterableSingleSelectInputBuilder<T,ITEM>` Filterable `SingleSelect` input builder with validation support.
    `static interface` | `FilterableSingleSelectConfigurator.ValidatablePropertyFilterableSingleSelectInputBuilder<T>` `Property` model based filterable `SingleSelect` input builder 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`

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

      `HasStyleConfigurator.BaseHasStyleConfigurator`

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

      `HasEnabledConfigurator.BaseHasEnabledConfigurator`

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

      `HasSizeConfigurator.BaseHasSizeConfigurator`

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

      `HasLabelConfigurator.BaseHasLabelConfigurator`

  - ### 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
    --- | ---
    `B` | `allowCustomValue(boolean allowCustomValue)` Set whether custom values are allowed.
    `B` | `clearButtonVisible(boolean clearButtonVisible)` Set whether to show a clear button which can be used to clear the input value.
    `static <T> FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,T>` | `create(Class<T> type)` Get a new `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder` to create a filterable `SingleSelect`, which uses a `ComboBox` as input component.
    `static <T,ITEM> FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,ITEM>` | `create(Class<T> type, Class<ITEM> itemType, ItemConverter<T,ITEM> itemConverter)` Get a new `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder` to create a filterable `SingleSelect`, which uses a `ComboBox` as input component.
    `static <T> FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty)` Get a new `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder` to create a `Property` model based filterable `SingleSelect`, which uses a `ComboBox` as input component.
    `static <T> FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty, Function<T,Optional<com.holonplatform.core.property.PropertyBox>> itemConverter)` Get a new `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder` to create a `Property` model based filterable `SingleSelect`, which uses a `ComboBox` as input component.
    `B` | `itemLabelGenerator(Function<ITEM,String> itemLabelGenerator)` Sets the item label generator that is used to produce the strings shown in the input for each item.
    `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.
    `B` | `withCustomValueSetListener(CustomValueSetListener<T> customValueSetListener)` Add a listener for custom value set event, which is fired when user types in a value that don't already exist in the select items set.

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

      `dataSource`

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

      `enumCaptionGenerator`

    - ### 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, withAdapter, withReadonlyChangeListener, withValueChangeListener`

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

      `create, elementConfiguration, 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

      `create, styleName, styleNames`

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

      `create, 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.HasItemCaptionConfigurator

      `itemCaption, itemCaption, itemCaption, itemCaptionGenerator`

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

      `create, fullHeight, fullSize, fullWidth, height, height, heightUndefined, maxHeight, maxWidth, minHeight, minWidth, sizeUndefined, width, width, widthUndefined`

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

      `create, create, 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, withFocusShortcut, withFocusShortcutKey`

- - ### 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 `HasItemCaptionConfigurator.itemCaptionGenerator(com.holonplatform.vaadin.flow.components.builders.ItemSetConfigurator.ItemCaptionGenerator)`.

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

    - #### itemLabelGenerator

          B itemLabelGenerator(Function<ITEM,String> itemLabelGenerator)

      Sets the item label generator that is used to produce the strings shown in the input for each item.

      When a `renderer(Renderer)` or a `HasItemCaptionConfigurator.itemCaptionGenerator(com.holonplatform.vaadin.flow.components.builders.ItemSetConfigurator.ItemCaptionGenerator)` is defined, the itemL label generator is only used to show the selected item label.

      Parameters:
        `itemLabelGenerator` - The item label generator to set (not null)
      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

    - #### allowCustomValue

          B allowCustomValue(boolean allowCustomValue)

      Set whether custom values are allowed. If `true`, the user can input a value that is not present in the items list.
      Parameters:
        `allowCustomValue` - Whether custom values are allowed
      Returns:
        this
      Since:
        5.2.13

    - #### withCustomValueSetListener

          B withCustomValueSetListener(CustomValueSetListener<T> customValueSetListener)

      Add a listener for custom value set event, which is fired when user types in a value that don't already exist in the select items set.

      As a side effect makes the select allow custom values. If you don't want to allow a user to add new values to the list once the listener is added please disable it explicitly via the `allowCustomValue(boolean)` method.

      Parameters:
        `customValueSetListener` - The listener to add (not null)
      Returns:
        this
      Since:
        5.2.13

    - #### clearButtonVisible

          B clearButtonVisible(boolean clearButtonVisible)

      Set whether to show a clear button which can be used to clear the input value.
      Parameters:
        `clearButtonVisible` - `true` to show the clear button, `false` to hide it
      Returns:
        this
      Since:
        5.3.0

    - #### create

          static <T,ITEM> FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,ITEM> create(Class<T> type,
                                                                                                               Class<ITEM> itemType,
                                                                                                               ItemConverter<T,ITEM> itemConverter)

      Get a new `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder` to create a filterable `SingleSelect`, which uses a `ComboBox` as input component.
      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 `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder`

    - #### create

          static <T> FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder<T,T> create(Class<T> type)

      Get a new `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder` to create a filterable `SingleSelect`, which uses a `ComboBox` as input component.
      Type Parameters:
        `T` - Value type
      Parameters:
        `type` - Selection value type (not null)
      Returns:
        A new `FilterableSingleSelectConfigurator.FilterableSingleSelectInputBuilder`

    - #### create

          static <T> FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder<T> create(com.holonplatform.core.property.Property<T> selectionProperty)

      Get a new `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder` to create a `Property` model based filterable `SingleSelect`, which uses a `ComboBox` as input component.
      Type Parameters:
        `T` - Value type
      Parameters:
        `selectionProperty` - The property to use to represent the selection value (not null)
      Returns:
        A new `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder`

    - #### create

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

      Get a new `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder` to create a `Property` model based filterable `SingleSelect`, which uses a `ComboBox` as input component.
      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 `FilterableSingleSelectConfigurator.PropertyFilterableSingleSelectInputBuilder`

Copyright © 2020 The Holon Platform. All rights reserved.