Interface MultiSelect<C extends com.vaadin.flow.component.Component,T>

Type Parameters:
C - the selection component type
T - the type of the items to select
All Superinterfaces:
com.vaadin.flow.component.HasElement, com.vaadin.flow.component.HasEnabled, com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C,Set<T>>,Set<T>>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C,Set<T>>,Set<T>>, Serializable

public interface MultiSelect<C extends com.vaadin.flow.component.Component,T> extends com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C,Set<T>>,Set<T>>
Multi selection component which allows to select and deselect multiple items.
Since:
1.0
Author:
Vaadin Ltd
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue

    com.vaadin.flow.component.HasValue.ValueChangeEvent<V>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
  • Method Summary

    Modifier and Type
    Method
    Description
    com.vaadin.flow.shared.Registration
    Adds a selection listener that will be called when the selection is changed either by the user or programmatically.
    default void
    Removes the given items from the set of currently selected items.
    default void
    deselect(T... items)
    Removes the given items from the set of currently selected items.
    default void
    Deselects all currently selected items.
    default Set<T>
    MultiSelect empty value should always be an empty set by default and not null.
    Returns an immutable set of the currently selected items.
    default Set<T>
     
    default boolean
    isSelected(T item)
    Returns whether the given item is currently selected.
    default void
    select(Iterable<T> items)
    Adds the given items to the set of currently selected items.
    default void
    select(T... items)
    Adds the given items to the set of currently selected items.
    default void
    setValue(Set<T> value)
     
    void
    updateSelection(Set<T> addedItems, Set<T> removedItems)
    Updates the selection by adding and removing the given items from it.

    Methods inherited from interface com.vaadin.flow.component.HasElement

    getElement

    Methods inherited from interface com.vaadin.flow.component.HasEnabled

    bindEnabled, isEnabled, setEnabled

    Methods inherited from interface com.vaadin.flow.component.HasValue

    addValueChangeListener, bindValue, clear, getOptionalValue, isEmpty

    Methods inherited from interface com.vaadin.flow.component.HasValueAndElement

    isReadOnly, isRequiredIndicatorVisible, setReadOnly, setRequiredIndicatorVisible
  • Method Details

    • select

      default void select(T... items)
      Adds the given items to the set of currently selected items.

      By default this does not clear any previous selection. To do that, use deselectAll().

      If the all the items were already selected, this is a NO-OP.

      This is a short-hand for updateSelection(Set, Set) with nothing to deselect.

      Parameters:
      items - to add to selection, not null
    • deselect

      default void deselect(T... items)
      Removes the given items from the set of currently selected items.

      If the none of the items were selected, this is a NO-OP.

      This is a short-hand for updateSelection(Set, Set) with nothing to select.

      Parameters:
      items - to remove from selection, not null
    • select

      default void select(Iterable<T> items)
      Adds the given items to the set of currently selected items.

      By default this does not clear any previous selection. To do that, use deselectAll().

      If the all the items were already selected, this is a NO-OP.

      This is a short-hand for updateSelection(Set, Set) with nothing to deselect.

      Parameters:
      items - to add to selection, not null
    • deselect

      default void deselect(Iterable<T> items)
      Removes the given items from the set of currently selected items.

      If the none of the items were selected, this is a NO-OP.

      This is a short-hand for updateSelection(Set, Set) with nothing to select.

      Parameters:
      items - to remove from selection, not null
    • updateSelection

      void updateSelection(Set<T> addedItems, Set<T> removedItems)
      Updates the selection by adding and removing the given items from it.

      If all the added items were already selected and the removed items were not selected, this is a NO-OP.

      Duplicate items (in both add and remove sets) are ignored.

      Parameters:
      addedItems - the items to add, not null
      removedItems - the items to remove, not null
    • getSelectedItems

      Set<T> getSelectedItems()
      Returns an immutable set of the currently selected items. It is safe to invoke other SelectionModel methods while iterating over the set.

      Implementation note: the iteration order of the items in the returned set should be well-defined and documented by the implementing class.

      Returns:
      the items in the current selection, not null
    • deselectAll

      default void deselectAll()
      Deselects all currently selected items.
    • isSelected

      default boolean isSelected(T item)
      Returns whether the given item is currently selected.
      Parameters:
      item - the item to check, not null
      Returns:
      true if the item is selected, false otherwise
    • addSelectionListener

      com.vaadin.flow.shared.Registration addSelectionListener(MultiSelectionListener<C,T> listener)
      Adds a selection listener that will be called when the selection is changed either by the user or programmatically.
      Parameters:
      listener - the value change listener, not null
      Returns:
      a registration for the listener
    • getEmptyValue

      default Set<T> getEmptyValue()
      MultiSelect empty value should always be an empty set by default and not null.
      Specified by:
      getEmptyValue in interface com.vaadin.flow.component.HasValue<C extends com.vaadin.flow.component.Component,T>
      Returns:
      An empty set, not null
    • getValue

      default Set<T> getValue()
      Specified by:
      getValue in interface com.vaadin.flow.component.HasValue<C extends com.vaadin.flow.component.Component,T>
    • setValue

      default void setValue(Set<T> value)
      Specified by:
      setValue in interface com.vaadin.flow.component.HasValue<C extends com.vaadin.flow.component.Component,T>