Class MultiSelectListBox<T>
- java.lang.Object
-
- com.vaadin.flow.component.Component
-
- com.vaadin.flow.component.AbstractField<C,T>
-
- com.vaadin.flow.component.AbstractSinglePropertyField<C,VALUE>
-
- com.vaadin.flow.component.listbox.ListBoxBase<MultiSelectListBox<T>,T,Set<T>>
-
- com.vaadin.flow.component.listbox.MultiSelectListBox<T>
-
- Type Parameters:
T- the type of the items contained by this component
- All Implemented Interfaces:
com.vaadin.flow.component.AttachNotifier,com.vaadin.flow.component.DetachNotifier,com.vaadin.flow.component.HasComponents,com.vaadin.flow.component.HasElement,com.vaadin.flow.component.HasEnabled,com.vaadin.flow.component.HasSize,com.vaadin.flow.component.HasStyle,com.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiSelectListBox<T>,Set<T>>,Set<T>>,com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiSelectListBox<T>,Set<T>>,Set<T>>,HasTooltip,com.vaadin.flow.data.binder.HasItemComponents<T>,com.vaadin.flow.data.provider.HasDataView<T,Void,ListBoxDataView<T>>,com.vaadin.flow.data.provider.HasListDataView<T,ListBoxListDataView<T>>,com.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>,Serializable
public class MultiSelectListBox<T> extends ListBoxBase<MultiSelectListBox<T>,T,Set<T>> implements com.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>
Server-side component for thevaadin-list-boxelement with multi-selection.- Author:
- Vaadin Ltd
- See Also:
ListBox, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.vaadin.flow.component.AbstractField
com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C extends com.vaadin.flow.component.Component,V extends Object>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.data.binder.HasItemComponents
com.vaadin.flow.data.binder.HasItemComponents.ItemComponent<T extends Object>
-
Nested classes/interfaces inherited from interface com.vaadin.flow.component.HasValue
com.vaadin.flow.component.HasValue.ValueChangeEvent<V extends Object>, com.vaadin.flow.component.HasValue.ValueChangeListener<E extends com.vaadin.flow.component.HasValue.ValueChangeEvent<?>>
-
-
Constructor Summary
Constructors Constructor Description MultiSelectListBox()Creates a new list box component with multi-selection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description com.vaadin.flow.shared.RegistrationaddSelectionListener(com.vaadin.flow.data.selection.MultiSelectionListener<MultiSelectListBox<T>,T> listener)Set<T>getSelectedItems()Returns an immutable set of the currently selected items.voidsetValue(Set<T> value)Sets the value of this component.voidupdateSelection(Set<T> addedItems, Set<T> removedItems)protected booleanvalueEquals(Set<T> value1, Set<T> value2)Compares two value instances to each other to determine whether they are equal.-
Methods inherited from class com.vaadin.flow.component.listbox.ListBoxBase
getDataProvider, getGenericDataView, getItemEnabledProvider, getItemId, getItemLabelGenerator, getItemRenderer, getListDataView, onAttach, onDetach, onEnabledStateChanged, setDataProvider, setItemEnabledProvider, setItemLabelGenerator, setItems, setItems, setItems, setItems, setRenderer, setRequiredIndicatorVisible
-
Methods inherited from class com.vaadin.flow.component.AbstractSinglePropertyField
getSynchronizationRegistration, hasValidValue, setPresentationValue, setSynchronizedEvent
-
Methods inherited from class com.vaadin.flow.component.AbstractField
addValueChangeListener, getEmptyValue, getValue, isEmpty, setModelValue
-
Methods inherited from class com.vaadin.flow.component.Component
addListener, findAncestor, fireEvent, from, get, getChildren, getElement, getEventBus, getId, getListeners, getLocale, getParent, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getTranslation, getUI, hasListener, isAttached, isTemplateMapped, isVisible, scrollIntoView, set, setElement, setId, setVisible
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.vaadin.flow.component.HasComponents
add, add, add, addComponentAsFirst, addComponentAtIndex, remove, remove, removeAll
-
Methods inherited from interface com.vaadin.flow.data.binder.HasItemComponents
addComponents, getItemPosition, prependComponents
-
Methods inherited from interface com.vaadin.flow.component.HasSize
getHeight, getHeightUnit, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getWidth, getWidthUnit, setHeight, setHeight, setHeightFull, setMaxHeight, setMaxHeight, setMaxWidth, setMaxWidth, setMinHeight, setMinHeight, setMinWidth, setMinWidth, setSizeFull, setSizeUndefined, setWidth, setWidth, setWidthFull
-
Methods inherited from interface com.vaadin.flow.component.HasStyle
addClassName, addClassNames, getClassName, getClassNames, getStyle, hasClassName, removeClassName, removeClassNames, setClassName, setClassName
-
Methods inherited from interface com.vaadin.flow.component.shared.HasTooltip
getTooltip, setTooltipText
-
Methods inherited from interface com.vaadin.flow.component.HasValue
addValueChangeListener, clear, getOptionalValue, isEmpty
-
-
-
-
Method Detail
-
setValue
public void setValue(Set<T> value)
Sets the value of this component. If the new value is not equal to the previous value, fires a value change event.The component doesn't accept
nullvalues. The value of multi select list box without any selected items is an empty set. You can use theHasValue.clear()method to set the empty value.- Specified by:
setValuein interfacecom.vaadin.flow.component.HasValue<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<MultiSelectListBox<T>,Set<T>>,Set<T>>- Specified by:
setValuein interfacecom.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>- Overrides:
setValuein classcom.vaadin.flow.component.AbstractField<MultiSelectListBox<T>,Set<T>>- Parameters:
value- the new value to set, notnull- Throws:
NullPointerException- if value isnull
-
updateSelection
public void updateSelection(Set<T> addedItems, Set<T> removedItems)
- Specified by:
updateSelectionin interfacecom.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>
-
getSelectedItems
public Set<T> getSelectedItems()
Returns an immutable set of the currently selected items. It is safe to invoke otherSelectionModelmethods while iterating over the set.There are no guarantees of the iteration order of the returned set of items.
- Specified by:
getSelectedItemsin interfacecom.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>- Returns:
- the items in the current selection, not
null
-
addSelectionListener
public com.vaadin.flow.shared.Registration addSelectionListener(com.vaadin.flow.data.selection.MultiSelectionListener<MultiSelectListBox<T>,T> listener)
- Specified by:
addSelectionListenerin interfacecom.vaadin.flow.data.selection.MultiSelect<MultiSelectListBox<T>,T>
-
valueEquals
protected boolean valueEquals(Set<T> value1, Set<T> value2)
Compares two value instances to each other to determine whether they are equal. Equality is used to determine whether to update internal state and fire an event whenAbstractField.setValue(Object)orAbstractField.setModelValue(Object, boolean)is called. Subclasses can override this method to define an alternative comparison method instead ofObject.equals(Object).- Overrides:
valueEqualsin classcom.vaadin.flow.component.AbstractField<MultiSelectListBox<T>,Set<T>>- Parameters:
value1- the first set of instancevalue2- the second set of instance- Returns:
trueif sets are equal in size and also the items; otherwisefalse
-
-