Class ISelectboxController<Data>

  • All Implemented Interfaces:
    ItemController<Data,​ListModel<Data>,​ISelectbox,​java.lang.String>

    public class ISelectboxController<Data>
    extends java.lang.Object
    implements ItemController<Data,​ListModel<Data>,​ISelectbox,​java.lang.String>
    An ISelectbox controller to control any operation on the given model.

    Note: this class is not thread-safe, so when it's used in multi-threading environment, the developer should handle the threading issue.

    Author:
    katherine
    • Method Detail

      • of

        public static <D> ISelectboxController<D> of​(ISelectbox owner,
                                                     ListModel<D> model)
        Returns the controller instance with the given selectbox
        Parameters:
        owner - The controller to control with
        model - The list model to associate with the selectbox.
      • of

        public static <D> ISelectboxController<D> of​(ISelectbox owner,
                                                     ListModel<D> model,
                                                     CheckedFunction2<java.lang.Object,​java.lang.Integer,​java.lang.String> renderer)
        Returns the controller instance with the given selectbox
        Parameters:
        owner - The controller to control with
        model - The list model to associate with the selectbox.
        renderer - The renderer of the list model.
      • of

        public static <D> ISelectboxController<D> of​(ISelectbox owner)
        Returns the controller instance with the given selectbox.

        Note: The selectbox must contain as least one child, which will covert them into a model automatically

        Parameters:
        owner - The controller to control with
      • setMultiple

        public void setMultiple​(boolean multiple)
        Sets whether multiple selections are allowed.

        Notice that, if a model is assigned, it will change the model's state (by Selectable.setMultiple(boolean)).

      • isMultiple

        public boolean isMultiple()
        Returns whether it is multiple selection.

        Default: false

      • getSelectedIndex

        public int getSelectedIndex()
        Returns the index of the selected item, or -1 if not selected.
      • setSelectedIndex

        public void setSelectedIndex​(int jsel)
        Deselects the currently selected items and selects the item with the given index.

      • getSelectedObject

        public Data getSelectedObject()
        Returns the selected item, or null if no item is selected.
      • setSelectedObject

        public void setSelectedObject​(Data item)
        Deselects all the currently selected items and selects the given item.
      • getSelectedObjects

        public java.util.Set<Data> getSelectedObjects()
        Returns all selected items, or an empty set if no item is selected.
      • setSelectedObjects

        public void setSelectedObjects​(java.util.Set<Data> items)
        Sets all selected items.

        Note: isMultiple() should be true.

        Parameters:
        items - The set of the data in the model.
      • clearSelection

        public void clearSelection()
        Clears the selection.