package com.vci.server.portal.cache; import java.util.ArrayList; import java.util.List; import java.util.Map; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson.JSONObject; import com.vci.server.cache.redis.RedisUtil; public abstract class UICacheBaseUtil {//extends BaseCacheTimer { protected static String TYPEMAP = "MAP-"; private String _cacheName = null; private Class _classType = null; protected UICacheBaseUtil(String objType, Class classType){ _cacheName = objType; //super(objType); _classType = classType; } protected String getName() { return _cacheName; } protected List getObjectList(){ List lstObj = new ArrayList(); Map map = RedisUtil.getInstance().hgetAll(getName()); String[] keys = map.keySet().toArray(new String[0]); for (int i = 0; i < keys.length; i++) { if (keys[i].startsWith(TYPEMAP)) continue; String json = map.get(keys[i]); if (StringUtils.isBlank(json)) continue; try { T obj = JSONObject.parseObject(json, _classType); lstObj.add(obj); } catch (Exception e) { //System.out.println(json); e.printStackTrace(); } } return lstObj; } public T getObject(String oid){ if (StringUtils.isBlank(oid)) return null; String jsonObj = RedisUtil.getInstance().hget(getName(), oid); if (StringUtils.isBlank(jsonObj)) return null; return JSONObject.parseObject(jsonObj, _classType); } // public T getObjectById(String oid) { // if (StringUtils.isBlank(oid)) // return null; // // String jsonObj = RedisUtil.getInstance().hget(getName(), oid); // if (StringUtils.isBlank(jsonObj)) // return null; // // return JSONObject.parseObject(jsonObj, _classType); // } public void delItem(String name){ if (StringUtils.isBlank(name)) return; RedisUtil.getInstance().hdel(getName(), name.toLowerCase()); } public abstract T[] getObjects(); public abstract void delObject(T obj); public abstract void setObject(T obj); }