com.holonplatform.vaadin.flow.components.builders

## Interface ListMultiSelectConfigurator<T,ITEM,B extends ListMultiSelectConfigurator<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>, HasItemCaptionConfigurator<ITEM,B>, HasItemEnableConfigurator<ITEM,B>, HasSizeConfigurator<B>, HasStyleConfigurator<B>, InputConfigurator<Set<T>,ValueHolder.ValueChangeEvent<Set<T>>,B>, ItemSetConfigurator<B>, MultiSelectableInputConfigurator<T,ITEM,B>, SelectableInputConfigurator<Set<T>,T,B>
  All Known Subinterfaces:
    ListMultiSelectConfigurator.DatastoreListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.DatastoreListMultiSelectInputConfigurator<T,ITEM,C>, ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputBuilder<T>, ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputConfigurator<T,C>, ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.ListMultiSelectInputConfigurator<T,ITEM,D,C>, ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder<T>, ListMultiSelectConfigurator.PropertyListMultiSelectInputConfigurator<T,D,C>, ListMultiSelectConfigurator.ValidatableDatastoreListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.ValidatableDatastorePropertyListMultiSelectInputBuilder<T>, ListMultiSelectConfigurator.ValidatableListMultiSelectInputBuilder<T,ITEM>, ListMultiSelectConfigurator.ValidatablePropertyListMultiSelectInputBuilder<T>

      public interface ListMultiSelectConfigurator<T,ITEM,B extends ListMultiSelectConfigurator<T,ITEM,B>>
      extends MultiSelectableInputConfigurator<T,ITEM,B>, HasSizeConfigurator<B>, HasItemEnableConfigurator<ITEM,B>

  `MultiSelect` input builder using a `MultiSelectListBox` as input component.
  Since:
    5.4.0

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static interface` | `ListMultiSelectConfigurator.DatastoreListMultiSelectInputBuilder<T,ITEM>` List `MultiSelect` input builder with `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.DatastoreListMultiSelectInputConfigurator<T,ITEM,C extends ListMultiSelectConfigurator.DatastoreListMultiSelectInputConfigurator<T,ITEM,C>>` List `MultiSelect` input configurator with `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputBuilder<T>` `Property` model based list `MultiSelect` input builder with `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputConfigurator<T,C extends ListMultiSelectConfigurator.DatastorePropertyListMultiSelectInputConfigurator<T,C>>` `Property` model based list `MultiSelect` input configurator with `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,ITEM>` List `MultiSelect` input builder.
    `static interface` | `ListMultiSelectConfigurator.ListMultiSelectInputConfigurator<T,ITEM,D extends DatastoreDataProviderConfigurator<ITEM,D>,C extends ListMultiSelectConfigurator.ListMultiSelectInputConfigurator<T,ITEM,D,C>>` List `MultiSelect` input configurator.
    `static interface` | `ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder<T>` `Property` model based list `MultiSelect` input builder.
    `static interface` | `ListMultiSelectConfigurator.PropertyListMultiSelectInputConfigurator<T,D extends DatastoreDataProviderConfigurator<com.holonplatform.core.property.PropertyBox,D>,C extends ListMultiSelectConfigurator.PropertyListMultiSelectInputConfigurator<T,D,C>>` `Property` model based list `MultiSelect` input configurator.
    `static interface` | `ListMultiSelectConfigurator.ValidatableDatastoreListMultiSelectInputBuilder<T,ITEM>` List `MultiSelect` input builder with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.ValidatableDatastorePropertyListMultiSelectInputBuilder<T>` `Property` model based list `MultiSelect` input builder with validation and `DatastoreDataProviderConfigurator` support.
    `static interface` | `ListMultiSelectConfigurator.ValidatableListMultiSelectInputBuilder<T,ITEM>` List `MultiSelect` input builder with validation support.
    `static interface` | `ListMultiSelectConfigurator.ValidatablePropertyListMultiSelectInputBuilder<T>` `Property` model based list `MultiSelect` 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`

  - ### 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> ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,T>` | `create(Class<T> type)` Get a new `ListMultiSelectConfigurator.ListMultiSelectInputBuilder` to create a `MultiSelect` which uses a `MultiSelectListBox` as input component.
    `static <T,ITEM> ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,ITEM>` | `create(Class<T> type, Class<ITEM> itemType, ItemConverter<T,ITEM> itemConverter)` Get a new `ListMultiSelectConfigurator.ListMultiSelectInputBuilder` to create a `MultiSelect` which uses a `MultiSelectListBox` as input component.
    `static <T> ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty)` Get a new `ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder` to create a `Property` model based `MultiSelect`, which uses a `MultiSelectListBox` as input component.
    `static <T> ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder<T>` | `create(com.holonplatform.core.property.Property<T> selectionProperty, Function<T,Optional<com.holonplatform.core.property.PropertyBox>> itemConverter)` Get a new `ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder` to create a `Property` model based `MultiSelect`, which uses a `MultiSelectListBox` as input component.
    `B` | `renderer(com.vaadin.flow.data.renderer.ComponentRenderer<? extends com.vaadin.flow.component.Component,ITEM> renderer)` Sets the `ComponentRenderer` responsible to render the individual items in the list of possible choices.
    `B` | `withComponentAfter(ITEM afterItem, com.vaadin.flow.component.Component component)` Adds the given component after the given list item.
    `B` | `withComponentBefore(ITEM beforeItem, com.vaadin.flow.component.Component component)` Adds the given component before the given list item.
    `B` | `withPrefixComponent(com.vaadin.flow.component.Component component)` Adds the given component before the list items.

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

      `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.HasItemEnableConfigurator

      `itemEnabledProvider`

- - ### Method Detail

    - #### renderer

          B renderer(com.vaadin.flow.data.renderer.ComponentRenderer<? extends com.vaadin.flow.component.Component,ITEM> renderer)

      Sets the `ComponentRenderer` responsible to render the individual items in the list of possible choices. The renderer is applied to each item to create a component which represents the item.
      Parameters:
        `renderer` - the item renderer, not `null`
      Returns:
        this

    - #### withPrefixComponent

          B withPrefixComponent(com.vaadin.flow.component.Component component)

      Adds the given component before the list items.
      Parameters:
        `component` - The component to add (not null)
      Returns:
        this

    - #### withComponentBefore

          B withComponentBefore(ITEM beforeItem,
                                com.vaadin.flow.component.Component component)

      Adds the given component before the given list item.
      Parameters:
        `beforeItem` - The item before which to add the component (not null)
        `component` - The component to add (not null)
      Returns:
        this

    - #### withComponentAfter

          B withComponentAfter(ITEM afterItem,
                               com.vaadin.flow.component.Component component)

      Adds the given component after the given list item.
      Parameters:
        `afterItem` - The item after which to add the component (not null)
        `component` - The component to add (not null)
      Returns:
        this

    - #### create

          static <T,ITEM> ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,ITEM> create(Class<T> type,
                                                                                                 Class<ITEM> itemType,
                                                                                                 ItemConverter<T,ITEM> itemConverter)

      Get a new `ListMultiSelectConfigurator.ListMultiSelectInputBuilder` to create a `MultiSelect` which uses a `MultiSelectListBox` 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 `ListMultiSelectConfigurator.ListMultiSelectInputBuilder`

    - #### create

          static <T> ListMultiSelectConfigurator.ListMultiSelectInputBuilder<T,T> create(Class<T> type)

      Get a new `ListMultiSelectConfigurator.ListMultiSelectInputBuilder` to create a `MultiSelect` which uses a `MultiSelectListBox` as input component.
      Type Parameters:
        `T` - Value type
      Parameters:
        `type` - Selection value type (not null)
      Returns:
        A new `ListMultiSelectConfigurator.ListMultiSelectInputBuilder`

    - #### create

          static <T> ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder<T> create(com.holonplatform.core.property.Property<T> selectionProperty)

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

    - #### create

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

      Get a new `ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder` to create a `Property` model based `MultiSelect`, which uses a `MultiSelectListBox` 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 `ListMultiSelectConfigurator.PropertyListMultiSelectInputBuilder`

Copyright © 2020 The Holon Platform. All rights reserved.