Package org.zkoss.stateless.state
Class ISearchboxController<DataT>
- java.lang.Object
-
- org.zkoss.stateless.state.ISearchboxController<DataT>
-
- All Implemented Interfaces:
ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
public class ISearchboxController<DataT> extends java.lang.Object implements ItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
AnISearchboxcontroller 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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ISearchboxbuild()Returns the immutable instance that the controller to build withvoidclear()Clears all the rendered data.voidclearSelection()Clears the selection.org.zkoss.zul.ListModel<DataT>getModel()Returns the model, which is set through byItemController.setModel(Object), or null.CheckedFunction2<DataT,java.lang.Integer,java.lang.String>getRenderer()Returns the renderer, which is set through byItemController.setRenderer(CheckedFunction2), or a default one which is depended on implementation.intgetSelectedCount()Returns the number of items being selected.DataTgetSelectedObject()Returns the selected item, or null if no item is selected.<T> java.util.Set<T>getSelectedObjects()Returns the selected objects.booleanisMultiple()Returns whether multiple selections are allowed.static <D> ISearchboxController<D>of(ISearchbox owner, org.zkoss.zul.ListModel<D> model)Returns the controller instance with the givensearchboxstatic <D> ISearchboxController<D>of(ISearchbox owner, org.zkoss.zul.ListModel<D> model, CheckedFunction2<java.lang.Object,java.lang.Integer,java.lang.String> renderer)Returns the controller instance with the givensearchboxvoidsetItemConverter(org.zkoss.util.Converter<java.util.Collection<DataT>,java.lang.String> converter)Sets the converter that generates the label text shown in the searchbox from selected items.voidsetModel(org.zkoss.zul.ListModel<DataT> model)Sets the given model to this controller.voidsetMultiple(boolean multiple)Sets whether multiple selections are allowed.voidsetRenderer(CheckedFunction2<DataT,java.lang.Integer,java.lang.String> renderer)Sets the renderer which is used to render each data ifItemController.getModel()is not null.voidsetSelectedObject(DataT item)Deselects all the currently selected items and selects the given item.voidsetSelectedObjects(java.util.Collection<DataT> selectedItems)Selects the given items.
-
-
-
Method Detail
-
of
public static <D> ISearchboxController<D> of(ISearchbox owner, org.zkoss.zul.ListModel<D> model)
Returns the controller instance with the givensearchbox- Parameters:
owner- The controller to control withmodel- The list model to associate with the searchbox.
-
of
public static <D> ISearchboxController<D> of(ISearchbox owner, org.zkoss.zul.ListModel<D> model, CheckedFunction2<java.lang.Object,java.lang.Integer,java.lang.String> renderer)
Returns the controller instance with the givensearchbox- Parameters:
owner- The controller to control withmodel- 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:ItemControllerSets the given model to this controller.Note: calling this method after
ItemController.build(), you should invokeItemController.build()again to take effect to replace the current one at client.
For example,uiAgent.replaceWith(locator, itemController.build());Default:
null- Specified by:
setModelin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
getModel
public org.zkoss.zul.ListModel<DataT> getModel()
Description copied from interface:ItemControllerReturns the model, which is set through byItemController.setModel(Object), or null.- Specified by:
getModelin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
setRenderer
public void setRenderer(CheckedFunction2<DataT,java.lang.Integer,java.lang.String> renderer)
Description copied from interface:ItemControllerSets the renderer which is used to render each data ifItemController.getModel()is not null.Note: calling this method after
ItemController.build(), you should invokeItemController.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:
setRendererin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
getRenderer
public CheckedFunction2<DataT,java.lang.Integer,java.lang.String> getRenderer()
Description copied from interface:ItemControllerReturns the renderer, which is set through byItemController.setRenderer(CheckedFunction2), or a default one which is depended on implementation.- Specified by:
getRendererin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
build
public ISearchbox build()
Description copied from interface:ItemControllerReturns the immutable instance that the controller to build with- Specified by:
buildin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
clear
public void clear()
Description copied from interface:ItemControllerClears all the rendered data.- Specified by:
clearin interfaceItemController<DataT,org.zkoss.zul.ListModel<DataT>,ISearchbox,java.lang.String>
-
setItemConverter
public void setItemConverter(org.zkoss.util.Converter<java.util.Collection<DataT>,java.lang.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(java.util.Collection<DataT> selectedItems)
Selects the given items. Must be non-null values.
-
getSelectedObjects
public <T> java.util.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.
-
-