package com.vci.client.uif.actions.client;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import com.vci.client.omd.provider.ApProvider;
|
import com.vci.client.omd.statepool.StatePoolStart;
|
import com.vci.corba.omd.atm.AttribItem;
|
import com.vci.corba.omd.stm.StatePool;
|
|
|
/**
|
* 客户端缓存
|
* 缓存表单、列表中常用的需要转译的数据库信息
|
* @author VCI
|
*
|
*/
|
public class UIFCache {
|
|
/**
|
* 缓存对象
|
*/
|
private static UIFCache cache = new UIFCache();
|
/**
|
* 生命周期状态池缓存
|
*
|
*/
|
private StatePool[] statePools = null;
|
|
/**
|
* 枚举类型缓存
|
* key:btmName + "#" + attrName + "#" + key
|
*/
|
private Map<String, String> sysEnumMap = new HashMap<String, String>();
|
|
/**
|
* 属性池缓存
|
*/
|
private HashMap<String, AttribItem> attrItemMap = null;
|
|
/**
|
* 构造器
|
*/
|
private UIFCache(){}
|
|
/**
|
* 获得缓存对象实例
|
* @return
|
*/
|
public static UIFCache getInstance(){
|
return cache;
|
}
|
|
/**
|
* 获得生命周期状态池信息
|
* @return
|
* @throws Exception
|
*/
|
public StatePool[] getStatePools() throws Exception{
|
if(statePools == null) {
|
statePools = StatePoolStart.getService().getStatePools();
|
}
|
return statePools;
|
}
|
|
/**
|
* 枚举类型缓存
|
* key:btmName + "#" + attrName + "#" + key
|
* @return
|
*/
|
public Map<String, String> getSysEnumMap(){
|
return sysEnumMap;
|
}
|
|
/**
|
* 获得属性池集合
|
*/
|
public Map<String, AttribItem> getAllAttributeMap() {
|
if (attrItemMap == null){
|
attrItemMap = new HashMap<String, AttribItem>();
|
}
|
if(attrItemMap.isEmpty()) {
|
AttribItem[] attrItems = ApProvider.getAllAbItems();
|
for (AttribItem attrItem : attrItems) {
|
attrItemMap.put(attrItem.name, attrItem);
|
}
|
}
|
return attrItemMap;
|
}
|
}
|