Class ISearchboxController<DataT>

java.lang.Object
org.zkoss.stateless.state.ISearchboxController<DataT>
All Implemented Interfaces:
ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>

public class ISearchboxController<DataT> extends Object implements ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
An ISearchbox 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 Details

    • of

      public static <D> ISearchboxController<D> of(ISearchbox owner, org.zkoss.zul.ListModel<D> model)
      Returns the controller instance with the given searchbox
      Parameters:
      owner - The controller to control with
      model - The list model to associate with the searchbox.
    • of

      public static <D> ISearchboxController<D> of(ISearchbox owner, org.zkoss.zul.ListModel<D> model, CheckedFunction2<Object,Integer,String> renderer)
      Returns the controller instance with the given searchbox
      Parameters:
      owner - The controller to control with
      model - The list model to associate with the searchbox.
      renderer - The renderer of the list model.
    • setModel

      public void setModel(org.zkoss.zul.ListModel<DataT> model)
      Description copied from interface: ItemController
      Sets the given model to this controller.

      Note: calling this method after ItemController.build(), you should invoke ItemController.build() again to take effect to replace the current one at client.
      For example,

       
       uiAgent.replaceWith(locator, itemController.build());
       

      Default: null

      Specified by:
      setModel in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • getModel

      public org.zkoss.zul.ListModel<DataT> getModel()
      Description copied from interface: ItemController
      Returns the model, which is set through by ItemController.setModel(Object), or null.
      Specified by:
      getModel in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • setRenderer

      public void setRenderer(CheckedFunction2<DataT,Integer,String> renderer)
      Description copied from interface: ItemController
      Sets the renderer which is used to render each data if ItemController.getModel() is not null.

      Note: calling this method after ItemController.build(), you should invoke ItemController.build() again to take effect to replace the current one at client.
      For example,

       
       uiAgent.replaceWith(locator, itemController.build());
       

      Default: null, or depended on the implementation

      Specified by:
      setRenderer in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • getRenderer

      public CheckedFunction2<DataT,Integer,String> getRenderer()
      Description copied from interface: ItemController
      Returns the renderer, which is set through by ItemController.setRenderer(CheckedFunction2), or a default one which is depended on implementation.
      Specified by:
      getRenderer in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • build

      public ISearchbox build()
      Description copied from interface: ItemController
      Returns the immutable instance that the controller to build with
      Specified by:
      build in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • clear

      public void clear()
      Description copied from interface: ItemController
      Clears all the rendered data.
      Specified by:
      clear in interface ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,String>
    • setItemConverter

      public void setItemConverter(org.zkoss.util.Converter<Collection<DataT>,String> converter)
      Sets the converter that generates the label text shown in the searchbox from selected items.
      Parameters:
      converter - the converter, or null to use the default implementation.
    • isMultiple

      public boolean isMultiple()
      Returns whether multiple selections are allowed.

      Default: false.

    • 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)).

    • setSelectedObjects

      public void setSelectedObjects(Collection<DataT> selectedItems)
      Selects the given items. Must be non-null values.
    • getSelectedObjects

      public <T> Set<T> getSelectedObjects()
      Returns the selected objects.
    • getSelectedObject

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

      public void setSelectedObject(DataT item)
      Deselects all the currently selected items and selects the given item.
    • getSelectedCount

      public int getSelectedCount()
      Returns the number of items being selected.
    • clearSelection

      public void clearSelection()
      Clears the selection.