Java tutorial
/** * Copyright © 2012-2013 Zaric All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); */ package apm.modules.sys.support; import java.util.List; import java.util.Map; import apm.common.utils.CacheUtils; import apm.common.utils.SpringContextHolder; import apm.common.utils.StringUtils; import apm.modules.sys.dao.DictDao; import apm.modules.sys.entity.Dict; import com.google.common.collect.Lists; import com.google.common.collect.Maps; /** * * @author resite * @version 2013-5-29 */ public class Dicts { private static DictDao dictDao = SpringContextHolder.getBean(DictDao.class); public static final String CACHE_DICT_MAP = "dictMap"; public static String getDictLabel(String value, String type, String defaultValue) { if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(value)) { for (Dict dict : getDictList(type)) { if (type.equals(dict.getType()) && value.equals(dict.getValue())) { return dict.getLabel(); } } } return defaultValue; } public static String getDictValue(String label, String type, String defaultLabel) { if (StringUtils.isNotBlank(type) && StringUtils.isNotBlank(label)) { for (Dict dict : getDictList(type)) { if (type.equals(dict.getType()) && label.equals(dict.getLabel())) { return dict.getValue(); } } } return defaultLabel; } public static List<Dict> getDictList(String type) { @SuppressWarnings("unchecked") Map<String, List<Dict>> dictMap = (Map<String, List<Dict>>) CacheUtils.get(CACHE_DICT_MAP); if (dictMap == null) { dictMap = Maps.newHashMap(); for (Dict dict : dictDao.findAllList()) { List<Dict> dictList = dictMap.get(dict.getType()); if (dictList != null) { dictList.add(dict); } else { dictMap.put(dict.getType(), Lists.newArrayList(dict)); } } CacheUtils.put(CACHE_DICT_MAP, dictMap); } List<Dict> dictList = Lists.newArrayList(); if (dictList != null) { dictList = dictMap.get(type); } return dictList; } }