/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.core; import java.util.HashMap; import java.util.HashSet; import java.util.Locale; import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; import java.util.Set; /** * <p> Config.java </p> * * 应用配置:配置文件默认放在config/resources下的application.properties文件。<br> * 支持一个参数对应多个值(多个值之间用“,”号隔开)。 */ public class Config { public static final String TRUE = "true"; public static final String FALSE = "false"; public static final String IS_H2_DATABASE = "isH2Database"; /** 配置文件中应用编号属性名:系统获取Code值,如TSS、CMS */ public static final String APPLICATION_CODE = "application.code"; /** Spring配置文件, 默认为spring/applicationContext.xml */ public static final String SPRING_CONTEXT_PATH = "aplication.context"; /** 系统自定义异常处理servlet属性名(仅限普通HTTP请求,即HTML异常处理模式) */ public static final String ERROR_HANDLE = "error.handle.servlet"; /** session过期时间的配置名称 */ public static final String SESSION_CYCLELIFE_CONFIG = "session.cyclelife"; private static ResourceBundle resources = null; private static Map<String, Object> propertyMap = new HashMap<String, Object>(); //存放属性 name/value private static void getBundle(){ if(resources == null){ resources = ResourceBundle.getBundle("application", Locale.getDefault()); } } /** * 获取配置参数 * @param name * @return */ public static String getAttribute(String name){ String value = (String) propertyMap.get(name); if(value == null){ getBundle(); if(resources != null){ try{ value = resources.getString(name); }catch(MissingResourceException exception){ return null; } } } return value; } /** * 获取参数Set,适合一个参数有多个值的情况下使用(多个值之间用“,”号隔开) * @param name * @return */ @SuppressWarnings("unchecked") public static Set<String> getAttributesSet(String name){ Set<String> set = (Set<String>) propertyMap.get(name); if(set == null){ set = new HashSet<String>(); getBundle(); try{ String valueStr = resources.getString(name); String[] values = new String[0]; if(valueStr != null) values = valueStr.split(","); for(int i = 0; i < values.length; i++) set.add(values[i]); propertyMap.put(name, set); }catch(MissingResourceException exception){ return null; } } return set; } /** * 清楚系统参数缓存信息 */ public static void remove(){ resources = null; propertyMap.clear(); } }