数据字典,给各个字典定义一些静态常量的名字,私有类型的本类的对象,还有一个Map用于存放字典表,在init ()中把所有字典加载入Map,定义的静态常量就是它的key.在需要的时候就根据getDic()获取相应的字典。

public class DicConstants {

/**行业代码*/定义静态类型的常量

public static final String dicTrdType = "dicTrdType";

/** 单体实例 */

private static DicConstants instance;

/** 字典数据映射表 */

@SuppressWarnings("rawtypes")

private Map dicMap = new HashMap();

/**

* 私有构造器

*/

private DicConstants() {

}

/**

* @return 返回 instance。

*/

public static DicConstants getInstance() {

if (instance == null) {

instance = new DicConstants();

}

return instance;

}

/**

* 初始化字典

*/

public void init() throws Exception {

@SuppressWarnings("unused")

DicDAO dicDAO = new DicDAO();

// TODO 在此调用dicDAO方法初始化字典

//行业代码

this.putDic(dicTrdType, dicDAO.getTrdTypeDic());

}

/**

* 根据字典编号得到字典内容映射表。

*

* @param dicId

* 字典编号

* @return 字典内容映射表

*/

@SuppressWarnings({ "rawtypes", "unchecked" })

public Map getDic(String dicId) {

if (dicMap.containsKey(dicId) == false) {

return new HashMap();

}

Map map = new LinkedHashMap();

map.putAll(dicMap.get(dicId));

return map;

}

/**

* 将加载的字典放入该工具类中。

*

* @param dicId

* 字典编号

* @param dataMap

* 字典数据列表

*/

@SuppressWarnings("rawtypes")

private synchronized void putDic(String dicId, Map dataMap) {

if (dicMap.containsKey(dicId)) {

dicMap.remove(dicId);

}

dicMap.put(dicId, dataMap);

}

}

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐