com.holonplatform.vaadin.flow.components.builders

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

- Type Parameters:
    `T` - Value type
    `ITEM` - Item type
    `B` - Concrete builder type
  All Superinterfaces:
    ComponentConfigurator<B>, DeferrableLocalizationConfigurator<B>, HasDeferrableLocalization, HasElementConfigurator<B>, HasEnabledConfigurator<B>, HasLabelConfigurator<B>, HasStyleConfigurator<B>, InputConfigurator<Set<T>,ValueHolder.ValueChangeEvent<Set<T>>,B>, ItemSetConfigurator<B>, MultiSelectInputConfigurator<T,ITEM,B>, SelectableInputConfigurator<Set<T>,T,B>
  All Known Subinterfaces:
    OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputConfigurator<T,ITEM,C>, OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputBuilder<T>, OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputConfigurator<T,C>, OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputConfigurator<T,ITEM,D,C>, OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder<T>, OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputConfigurator<T,D,C>, OptionsModeMultiSelectInputBuilder.ValidatableDatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.ValidatableDatastorePropertyOptionsModeMultiSelectInputBuilder<T>, OptionsModeMultiSelectInputBuilder.ValidatableItemOptionsModeMultiSelectInputBuilder<T,ITEM>, OptionsModeMultiSelectInputBuilder.ValidatablePropertyOptionsModeMultiSelectInputBuilder<T>

      public interface OptionsModeMultiSelectInputBuilder<T,ITEM,B extends OptionsModeMultiSelectInputBuilder<T,ITEM,B>>
      extends MultiSelectInputConfigurator<T,ITEM,B>, HasLabelConfigurator<B>

  `MultiSelect` input builder for the options rendering mode.
  Since:
    5.2.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>` `MultiSelect` input builder for the options rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputConfigurator<T,ITEM,C extends OptionsModeMultiSelectInputBuilder.DatastoreItemOptionsModeMultiSelectInputConfigurator<T,ITEM,C>>` `MultiSelect` input configurator for the options rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputBuilder<T>` `Property` model based `MultiSelect` input builder for the options rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputConfigurator<T,C extends OptionsModeMultiSelectInputBuilder.DatastorePropertyOptionsModeMultiSelectInputConfigurator<T,C>>` `Property` model based `MultiSelect` input configurator for the options rendering mode with `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,ITEM>` `MultiSelect` input builder for the options rendering mode.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputConfigurator<T,ITEM,D extends DatastoreDataProviderConfigurator<ITEM,D>,C extends OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputConfigurator<T,ITEM,D,C>>` `MultiSelect` input configurator for the options rendering mode.
    `static interface` | `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder<T>` `Property` model based `MultiSelect` input builder for the options rendering mode.
    `static interface` | `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputConfigurator<T,D extends DatastoreDataProviderConfigurator<com.holonplatform.core.property.PropertyBox,D>,C extends OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputConfigurator<T,D,C>>` `Property` model based `MultiSelect` input configurator for the options rendering mode.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ValidatableDatastoreItemOptionsModeMultiSelectInputBuilder<T,ITEM>` `MultiSelect` input builder for the options rendering mode with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ValidatableDatastorePropertyOptionsModeMultiSelectInputBuilder<T>` `Property` model based `MultiSelect` input builder for the options rendering mode with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ValidatableItemOptionsModeMultiSelectInputBuilder<T,ITEM>` `MultiSelect` input builder for the options rendering mode with validation support.
    `static interface` | `OptionsModeMultiSelectInputBuilder.ValidatablePropertyOptionsModeMultiSelectInputBuilder<T>` `Property` model based `MultiSelect` input builder for the options 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`

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `static <T> OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,T>` | `create(Class<T> type)` Create a new `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder`.
    `static <T,ITEM> OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,ITEM>` | `create(Class<T> type, Class<ITEM> itemType, ItemConverter<T,ITEM> itemConverter)` Create a new `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder`.
    `static <T> OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty)` Create a new `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder` using given selection `Property` and converter.
    `static <T> OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty, Function<T,Optional<com.holonplatform.core.property.PropertyBox>> itemConverter)` Create a new `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder` 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` | `itemEnabledProvider(com.vaadin.flow.function.SerializablePredicate<ITEM> itemEnabledProvider)` Sets the item enabled state predicate.

    - ### 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.HasLabelConfigurator

      `label, label, label`

- - ### Method Detail

    - #### itemEnabledProvider

          B itemEnabledProvider(com.vaadin.flow.function.SerializablePredicate<ITEM> itemEnabledProvider)

      Sets the item enabled state predicate. The predicate is applied to each item to determine whether the item should be enabled (`true`) or disabled (`false`).
      Parameters:
        `itemEnabledProvider` - the item enable predicate, 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

    - #### dataSource

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

      Set the items data provider using a `ListDataProvider`.
      Parameters:
        `dataProvider` - The data provider to set
      Returns:
        this

    - #### create

          static <T,ITEM> OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,ITEM> create(Class<T> type,
                                                                                                                   Class<ITEM> itemType,
                                                                                                                   ItemConverter<T,ITEM> itemConverter)

      Create a new `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder`.
      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 `OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder`

    - #### create

          static <T> OptionsModeMultiSelectInputBuilder.ItemOptionsModeMultiSelectInputBuilder<T,T> create(Class<T> type)

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

    - #### create

          static <T> OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder<T> create(com.holonplatform.core.property.Property<T> selectionProperty)

      Create a new `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder` 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 `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder`

    - #### create

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

      Create a new `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder` 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 `OptionsModeMultiSelectInputBuilder.PropertyOptionsModeMultiSelectInputBuilder`

Copyright © 2019 The Holon Platform. All rights reserved.