package com.vci.client.uif.engine.client.combobox; import java.util.HashMap; import java.util.Map; import com.vci.client.uif.engine.client.controls.VCIJComboBoxModelValueObject; public abstract class AbstractComboBoxDataProvider implements IComboBoxDataProvider { private String param = ""; public AbstractComboBoxDataProvider(){ this(""); } public AbstractComboBoxDataProvider(String param){ this.param = param; } public String getParam() { return param; } public void setParam(String param) { this.param = param; } /** * 返回参数值 map * @return */ protected Map getParamKeyValueMap(){ String paramValue = getParam(); //btmname=changeorder&showformat=${name} ${id} ${code} Map map = new HashMap(); String paramSplit = "&"; if(param.contains(paramSplit)){ String[] paramGrups = param.split(paramSplit); for(String param : paramGrups){ String[] pvs = param.split("="); if(pvs.length >= 2){ map.put(pvs[0].toLowerCase(), pvs[1]); } else { map.put(pvs[0], pvs[1]); } } } else{ map.put("param", paramValue); } return map; } /** * 返回 ComboBox 要加载显示的数据 * @return */ public abstract VCIJComboBoxModelValueObject[] getDatas(); /** * 返回根据创建时存储的值,在修改时,需要显示的数据 * @param value * @return */ public abstract String getDataByCreateValue(String value); }