日期:2014-05-16 浏览次数:20446 次
/* * ListMapDataModel.java * 2013-03-29 * 胡开明 */ package china; import java.io.Serializable; import java.util.List; import java.util.Map; import javax.faces.model.ListDataModel; import org.primefaces.model.SelectableDataModel; /** * * 为Primefaces开发的通用的数据模型类 * * @author hkm */ public class ListMapDataModel extends ListDataModel<Map> implements SelectableDataModel<Map>, Serializable { private String keyName;//记录的主键名 public ListMapDataModel() { } /** * @param list 在记录中包含主键的数据列表 * @param keyName 主键名 */ public ListMapDataModel(List<Map> list, String keyName) { super(list); this.keyName = keyName; } /** * 获取一条记录 * * @param rowKey 一条记录的主键值 * @return 根据主键值返回该记录 */ @Override public Map getRowData(String rowKey) { List<Map> dataList = (List<Map>) getWrappedData(); for (Map m : dataList) { if (m.get(keyName) != null && m.get(keyName).toString().equals(rowKey)) { return m; } } return null; } /** * 获取一条记录的主键值 * * @param recordMap * @return 返回一条记录的主键值 */ @Override public Object getRowKey(Map recordMap) { return recordMap.get(keyName); } }