package org.quickbundle.orgauth.cache;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.quickbundle.base.beans.factory.RmBeanFactory;
import org.quickbundle.orgauth.rmpartytype.service.IRmPartyTypeService;
import org.quickbundle.orgauth.rmpartytype.util.IRmPartyTypeConstants;
import org.quickbundle.orgauth.rmpartytype.vo.RmPartyTypeVo;
import org.quickbundle.project.cache.RmAbstractCache;
import org.quickbundle.tools.support.log.RmLogHelper;
public class RmPartyTypeCache extends RmAbstractCache {
private Map<String, RmPartyTypeVo> mPartyType;
private Map<String, RmPartyTypeVo> mPartyTypeId;
protected RmPartyTypeCache getInitedInstance() {
if(!isInit) {
synchronized (this.getClass()) {
if(!isInit) {
{
mPartyType = new HashMap<String, RmPartyTypeVo>();
mPartyTypeId = new HashMap<String, RmPartyTypeVo>();
IRmPartyTypeService partyTypeService = (IRmPartyTypeService)RmBeanFactory.getBean(IRmPartyTypeConstants.SERVICE_KEY);
List<RmPartyTypeVo> lPartyType = partyTypeService.queryByCondition(null, null);
for (RmPartyTypeVo vo : lPartyType) {
mPartyType.put(vo.getBs_keyword(), vo);
mPartyTypeId.put(vo.getId(), vo);
}
RmLogHelper.getLogger(this.getClass()).info("init ok, mPartyType.size()=" + mPartyType.size());
}
isInit = true;
}
}
}
return this;
}
/**
* 全局单例
*/
private static RmPartyTypeCache singleton = new RmPartyTypeCache();
public static RmPartyTypeCache getSingleton() {
return singleton;
}
public static RmPartyTypeVo getPartyType(String bs_keyword) {
return getSingleton().getInitedInstance().mPartyType.get(bs_keyword);
}
public static RmPartyTypeVo getPartyTypeId(String id) {
return getSingleton().getInitedInstance().mPartyTypeId.get(id);
}
}