/* ListboxListmodelConverter.java
Purpose:
Description:
History:
2012/3/8 Created by Dennis Chen
Copyright (C) 2011 Potix Corporation. All Rights Reserved.
*/
package org.zkoss.zkplus.databind;
import org.zkoss.zk.ui.Component;
import org.zkoss.zul.ListModel;
import org.zkoss.zul.Listbox;
import org.zkoss.zul.ext.Selectable;
/**
* The {@link TypeConverter} implementation for converting collection to ListModel of a listbox
* @author dennis
* @since 6.0.1
* @deprecated As of release 7.0.0, replace with new ZK binding.
*/
public class ListboxListModelConverter extends ListModelConverter {
private static final long serialVersionUID = 1L;
protected ListModel<?> getComponentModel(Component comp) {
return ((Listbox) comp).getModel();
}
protected BindingListModel<?> handleWrappedNonListModel(Component comp, BindingListModel<?> wrappedModel) {
final Listbox listbox = (Listbox) comp;
if (wrappedModel instanceof Selectable) {
if (((Selectable<?>) wrappedModel).isMultiple() != listbox.isMultiple())
;
//since the model was wrapped. I should respect the setting on the component
//user might set the multiple on the listbox by <listbox multiple="true"
//or <listbox multiple="@bind(true)" or <listbox multiple="@bind(vm.multiple)"
((Selectable<?>) wrappedModel).setMultiple(listbox.isMultiple());
}
return wrappedModel;
}
}