Class ListBoxBase<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM,​VALUE>

  • 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<C,​VALUE>,​VALUE>, com.vaadin.flow.component.HasValueAndElement<com.vaadin.flow.component.AbstractField.ComponentValueChangeEvent<C,​VALUE>,​VALUE>, HasTooltip, com.vaadin.flow.data.binder.HasItemComponents<ITEM>, com.vaadin.flow.data.provider.HasDataView<ITEM,​Void,​ListBoxDataView<ITEM>>, com.vaadin.flow.data.provider.HasListDataView<ITEM,​ListBoxListDataView<ITEM>>, Serializable
    Direct Known Subclasses:
    ListBox, MultiSelectListBox

    @Tag("vaadin-list-box")
    @NpmPackage(value="@vaadin/polymer-legacy-adapter",version="23.6.2") @NpmPackage(value="@vaadin/list-box",version="23.6.2") @NpmPackage(value="@vaadin/vaadin-list-box",version="23.6.2")
    @JsModule("@vaadin/polymer-legacy-adapter/style-modules.js") @JsModule("@vaadin/list-box/src/vaadin-list-box.js")
    public abstract class ListBoxBase<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM,​VALUE>
    extends com.vaadin.flow.component.AbstractSinglePropertyField<C,​VALUE>
    implements com.vaadin.flow.data.binder.HasItemComponents<ITEM>, com.vaadin.flow.component.HasSize, com.vaadin.flow.data.provider.HasListDataView<ITEM,​ListBoxListDataView<ITEM>>, com.vaadin.flow.data.provider.HasDataView<ITEM,​Void,​ListBoxDataView<ITEM>>, com.vaadin.flow.component.HasStyle, HasTooltip
    Base class for the ListBox and MultiSelectListBox.
    Author:
    Vaadin Ltd
    See Also:
    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<?>>
    • Method Summary

      All Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      com.vaadin.flow.data.provider.DataProvider<ITEM,​?> getDataProvider()
      Deprecated.
      ListBoxDataView<ITEM> getGenericDataView()
      Gets the generic data view for the ListBox.
      com.vaadin.flow.function.SerializablePredicate<ITEM> getItemEnabledProvider()
      Returns the item enabled predicate.
      protected Object getItemId​(ITEM item)  
      com.vaadin.flow.component.ItemLabelGenerator<ITEM> getItemLabelGenerator()
      Gets the item label generator that is used to produce the strings shown in the ListBox for each item.
      ComponentRenderer<? extends com.vaadin.flow.component.Component,​ITEM> getItemRenderer()
      Returns the item component renderer.
      ListBoxListDataView<ITEM> getListDataView()
      Gets the list data view for the ListBox.
      protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)  
      protected void onDetach​(com.vaadin.flow.component.DetachEvent detachEvent)  
      void onEnabledStateChanged​(boolean enabled)  
      void setDataProvider​(com.vaadin.flow.data.provider.DataProvider<ITEM,​?> dataProvider)
      Deprecated.
      use instead one of the setItems methods which provide access to either ListBoxListDataView or ListBoxDataView
      void setItemEnabledProvider​(com.vaadin.flow.function.SerializablePredicate<ITEM> itemEnabledProvider)
      Sets the item enabled predicate for this ListBox.
      void setItemLabelGenerator​(com.vaadin.flow.component.ItemLabelGenerator<ITEM> itemLabelGenerator)
      Sets the item label generator that is used to produce the strings shown in the ListBox for each item.
      ListBoxDataView<ITEM> setItems​(com.vaadin.flow.data.provider.DataProvider<ITEM,​Void> dataProvider)
      Set a generic data provider for the ListBox to use and returns the base ListBoxDataView that provides API to get information on the items.
      ListBoxDataView<ITEM> setItems​(com.vaadin.flow.data.provider.InMemoryDataProvider<ITEM> inMemoryDataProvider)
      Sets an in-memory data provider for the ListBox to use
      ListBoxListDataView<ITEM> setItems​(com.vaadin.flow.data.provider.ListDataProvider<ITEM> listDataProvider)
      Sets a ListDataProvider for the ListBox to use and returns a ListDataView that provides information and allows operations on the items.
      void setItems​(Stream<ITEM> streamOfItems)
      Deprecated.
      Because the stream is collected to a list anyway, use HasListDataView.setItems(Collection) instead.
      void setRenderer​(ComponentRenderer<? extends com.vaadin.flow.component.Component,​ITEM> itemRenderer)
      Sets the item renderer for this ListBox.
      void setRequiredIndicatorVisible​(boolean requiredIndicatorVisible)
      Not supported!
      • 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, setValue, valueEquals
      • 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 interface com.vaadin.flow.component.AttachNotifier

        addAttachListener
      • Methods inherited from interface com.vaadin.flow.component.DetachNotifier

        addDetachListener
      • Methods inherited from interface com.vaadin.flow.component.HasComponents

        add, add, add, addComponentAsFirst, addComponentAtIndex, remove, remove, removeAll
      • Methods inherited from interface com.vaadin.flow.component.HasElement

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

        isEnabled, setEnabled
      • Methods inherited from interface com.vaadin.flow.data.binder.HasItemComponents

        addComponents, getItemPosition, prependComponents
      • Methods inherited from interface com.vaadin.flow.data.provider.HasListDataView

        setItems, setItems
      • 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.HasValue

        clear, getOptionalValue
      • Methods inherited from interface com.vaadin.flow.component.HasValueAndElement

        isReadOnly, isRequiredIndicatorVisible, setReadOnly
    • Method Detail

      • setDataProvider

        @Deprecated
        public void setDataProvider​(com.vaadin.flow.data.provider.DataProvider<ITEM,​?> dataProvider)
        Deprecated.
        use instead one of the setItems methods which provide access to either ListBoxListDataView or ListBoxDataView
      • onAttach

        protected void onAttach​(com.vaadin.flow.component.AttachEvent attachEvent)
        Overrides:
        onAttach in class com.vaadin.flow.component.Component
      • onDetach

        protected void onDetach​(com.vaadin.flow.component.DetachEvent detachEvent)
        Overrides:
        onDetach in class com.vaadin.flow.component.Component
      • setRenderer

        public void setRenderer​(ComponentRenderer<? extends com.vaadin.flow.component.Component,​ITEM> itemRenderer)
        Sets the item renderer for this ListBox. The renderer is applied to each item to create a component which represents the item.
        Parameters:
        itemRenderer - the item renderer, not null
      • setItemLabelGenerator

        public void setItemLabelGenerator​(com.vaadin.flow.component.ItemLabelGenerator<ITEM> itemLabelGenerator)
        Sets the item label generator that is used to produce the strings shown in the ListBox for each item. By default, String.valueOf(Object) is used.
        Parameters:
        itemLabelGenerator - the item label provider to use, not null
      • getItemLabelGenerator

        public com.vaadin.flow.component.ItemLabelGenerator<ITEM> getItemLabelGenerator()
        Gets the item label generator that is used to produce the strings shown in the ListBox for each item.
        Returns:
        the item label generator used, not null
      • setItemEnabledProvider

        public void setItemEnabledProvider​(com.vaadin.flow.function.SerializablePredicate<ITEM> itemEnabledProvider)
        Sets the item enabled predicate for this ListBox. The predicate is applied to each item to determine whether the item should be enabled (true) or disabled (false). Disabled items are displayed as grayed out and the user cannot select them. The default predicate always returns true (all the items are enabled).
        Parameters:
        itemEnabledProvider - the item enable predicate, not null
      • setRequiredIndicatorVisible

        public void setRequiredIndicatorVisible​(boolean requiredIndicatorVisible)
        Not supported!

        Not supported by the client-side web-component, see issue in GitHub.

        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValue<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM>
        Specified by:
        setRequiredIndicatorVisible in interface com.vaadin.flow.component.HasValueAndElement<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM>
        Throws:
        UnsupportedOperationException
      • onEnabledStateChanged

        public void onEnabledStateChanged​(boolean enabled)
        Overrides:
        onEnabledStateChanged in class com.vaadin.flow.component.Component
      • setItems

        public ListBoxDataView<ITEM> setItems​(com.vaadin.flow.data.provider.DataProvider<ITEM,​Void> dataProvider)
        Set a generic data provider for the ListBox to use and returns the base ListBoxDataView that provides API to get information on the items.

        This method should be used only when the data provider type is not either ListDataProvider or BackEndDataProvider.

        Specified by:
        setItems in interface com.vaadin.flow.data.provider.HasDataView<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM,​VALUE>
        Parameters:
        dataProvider - DataProvider instance to use, not null
        Returns:
        ListBoxDataView providing information on the data
      • setItems

        public ListBoxDataView<ITEM> setItems​(com.vaadin.flow.data.provider.InMemoryDataProvider<ITEM> inMemoryDataProvider)
        Sets an in-memory data provider for the ListBox to use

        Note! Using a ListDataProvider instead of a InMemoryDataProvider is recommended to get access to ListBoxListDataView API by using HasListDataView.setItems(ListDataProvider).

        Specified by:
        setItems in interface com.vaadin.flow.data.provider.HasDataView<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM,​VALUE>
        Parameters:
        inMemoryDataProvider - InMemoryDataProvider to use, not null
        Returns:
        ListBoxDataView providing information on the data
      • setItems

        public ListBoxListDataView<ITEM> setItems​(com.vaadin.flow.data.provider.ListDataProvider<ITEM> listDataProvider)
        Sets a ListDataProvider for the ListBox to use and returns a ListDataView that provides information and allows operations on the items.
        Specified by:
        setItems in interface com.vaadin.flow.data.provider.HasListDataView<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM>
        Parameters:
        listDataProvider - ListDataProvider providing items to the ListBox.
        Returns:
        ListBoxListDataView providing access to the items
      • setItems

        @Deprecated
        public void setItems​(Stream<ITEM> streamOfItems)
        Deprecated.
        Because the stream is collected to a list anyway, use HasListDataView.setItems(Collection) instead.
      • getListDataView

        public ListBoxListDataView<ITEM> getListDataView()
        Gets the list data view for the ListBox. This data view should only be used when the items are in-memory and set with: If the items are not in-memory an exception is thrown.
        Specified by:
        getListDataView in interface com.vaadin.flow.data.provider.HasListDataView<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM>
        Returns:
        the list data view that provides access to the data bound to the ListBox
      • getGenericDataView

        public ListBoxDataView<ITEM> getGenericDataView()
        Gets the generic data view for the ListBox. This data view should only be used when getListDataView() is not applicable for the underlying data provider.
        Specified by:
        getGenericDataView in interface com.vaadin.flow.data.provider.HasDataView<C extends ListBoxBase<C,​ITEM,​VALUE>,​ITEM,​VALUE>
        Returns:
        the generic DataView instance implementing ListBoxDataView
      • getItemId

        protected Object getItemId​(ITEM item)