package cn.com.liandisys.ycjt.ggcx.common.constant;

/*
 * $Id: CommonConstant.java,v 1.1 2015/07/23 01:54:26 wangqx Exp $
 */


import java.util.HashMap;
import java.util.Map;

/**
 * 系统常量定义
 */
public class CommonConstant 
{
	/**
	 * 私有构造函数
	 */
	private CommonConstant(){}

	public static final Map<Class<?>, Class<?>> BASE_TYPE_WRAPPER_TYPE_MAP = new HashMap<Class<?>, Class<?>>();
	
	static
	{
		BASE_TYPE_WRAPPER_TYPE_MAP.put(int.class, Integer.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(double.class, Double.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(float.class, Float.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(long.class, Long.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(short.class, Short.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(boolean.class, Boolean.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(byte.class, Byte.class);
		BASE_TYPE_WRAPPER_TYPE_MAP.put(char.class, Character.class);
	}
	
	/**
	 * 系统基本的资源文件名称
	 */
	public static final String BASE_RESOURCES_FILE_NAME = "resources.properties";
	
	/**
	 * 系统基本的资源文件路径(于SerlvetContext相对路径)
	 */
	public static final String BASE_RESOURCES_FILE_PATH_SERVLET_CONTEXT = "/WEB-INF/classes/resources.properties";
	
	/** 半角英文点号:"." */
	public static final String DOT = ".";
	
	/**
	 * 符号#
	 */
	public static final String POUND = "#";
	
	/**
	 * 符号/
	 */
	public static final String SLASH = "/";
	
	/**
	 * 文件分隔符
	 */
	public static final String FILE_SEPARATOR = System.getProperty("file.separator");
	
	/**
	 * 反斜杠符号
	 */
	public static final String BACKSLASH = "\\";
	
	/**
	 * 正则-反斜杠符号
	 */
	public static final String REGEXP_BACKSLASH = "\\\\";
	
	/** 正则转义符-半角英文点号:"\\." */
	public static final String REGEXP_DOT = "\\.";
	
	/** 验证类型：必选字段 */
	public static final String VALI_TYPE_NOTNULL = "notNull";
	
	/** 验证类型：数据类型 */
	public static final String VALI_TYPE_DATA_TYPE = "dataType";
	
	/** 数据类型：email */
	public static final String DATA_TYPE_EMAIL = "email";
	
	/** 数据类型：url */
	public static final String DATA_TYPE_URL = "url";
	
	/** 数据类型：DECIMAL */
	public static final String DATA_TYPE_DECIMAL = "decimal";
	
	/** 验证类型：最大长度 */
	public static final String VALI_TYPE_MAXLENGTH = "maxlength";
	
	/** 验证类型：最小长度 */
	public static final String VALI_TYPE_MINLENGTH = "minlength";
	
	/** 数据类型：ISO格式日期(yyyy-MM-dd) */
	public static final String DATA_TYPE_DATE_ISO = "dateISO";
	
	/** 数据类型：ISO格式日期-时间(yyyy-MM-dd HH:mm:ss 或 yyyy-MM-dd HH:mm) */
	public static final String DATA_TYPE_DATE_TIME_ISO = "datetimeISO";
	
	/** 数据类型：ISO格式时间(HH:mm:ss 或 HH:mm) */
	public static final String DATA_TYPE_TIME_ISO = "timeISO";
	
	/** 日期Format： yyyy-MM-dd HH:mm:ss */
	public static final String DATE_FORMAT_YYYYMMDD_HHMMSS = "yyyy-MM-dd hh:mm:ss";
	
	/**
	 * 符号（等于号）
	 */
	public static final String SYMBOL_EQUALS = "=";
	
	/**
	 * 符号（左括号）
	 */
	public static final String SYMBOL_LEFTBRACKET = "(";
	
	/**
	 * 符号（右括号）
	 */
	public static final String SYMBOL_RIGHTBRACKET = ")";
	
	/**
	 * 符号（下划线）
	 */
	public static final String SYMBOL_UNDERLINE = "_";
	
	/**
	 * 美元符号
	 */
	public static final String SYMBOL_DOLLOR = "$";
	
	/**
	 * 符号（分号）
	 */
	public static final String SYMBOL_SEMICOLON = ";";
	
	/**
	 * 符号（双引号）
	 */
	public static final String SYMBOL_DOUBLEQUOTES = "\"";
	
	/**
	 * 符号（双引号）
	 */
	public static final char SYMBOL_DOUBLEQUOTES_CHAR = '"';
	
	/**
	 * 符号（逗号）
	 */
	public static final String SYMBOL_COMMA = ",";

	/**
	 * 等于号
	 */
	public static final String SYMBOL_EQUAL = "=";
	
	/**
	 * 符号（分割符号）
	 */
	public static final String SYMBOL_SPLIT_LINE = "|&$|";
	
	/**
	 * 符号（冒号）
	 */
	public static final String SYMBOL_COLON = ":";
	
	/**
	 * 符号（单引号）
	 */
	public static final String SYMBOL_SINGLEQUOTES = "'";
	
	/**
	 * 符号（问号）
	 */
	public static final String SYMBOL_QUESTION = "?";
	
	/**
	 * 正则表达式:问号
	 */
	public static final String REGXP_QUESTION = "\\?";
	
	/**
	 * 1:CSS
	 */
	public static final String PAGERESOURCE_FILETYPE_CSS = "1";
	
	/**
	 * 2:JS
	 */
	public static final String PAGERESOURCE_FILETYPE_JS = "2";
	
	/**
	 * 百分号的替换符号
	 */
	public static final String PERCENTAGE_SIGN_STRING = "<percentage>";
	
	/**
	 * 百分号
	 */
	public static final String PERCENTAGE_SIGN = "%";
	
	/**
	 * 日时format：yyyy
	 */
	public static final String DATEFORMAT_YYYY = "yyyy";
	
	/**
	 * 日时format：MMdd
	 */
	public static final String DATEFORMAT_MMDD = "MMdd";
	
	/**
	 * 日时format：HH_mm_ssSSS
	 */
	public static final String DATEFORMAT_HHMMSSSSS = "HH_mm_ssSSS";
	
	/**
	 * 日时format：yyyyMMddHHmmss
	 */
	public static final String DATEFORMAT_YYYYMMDDHHMMSS = "yyyyMMddHHmmss";
	
	/**
	 * 内存中最大对象数
	 */
	public static final String DEF_GLOBAL_MAXELEMENTSINMEMORY = "maxElementsInMemory";
	
	/**
	 * 设置元素是否永久的，如果为永久，则timeout忽略
	 */
	public static final String DEF_GLOBAL_ETERNAL = "eternal";
	
	/**
	 * 当memory中的数量达到限制后，是否保存到Disk
	 */
	public static final String DEF_GLOBAL_OVERFLOWTODISK = "overflowToDisk";
	
	/**
	 * 磁盘中最大对象数,0表示无限制
	 */
	public static final String DEF_GLOBAL_MAXELEMENTSONDISK = "maxElementsOnDisk";
	
	/**
	 * 设置Element在失效前的允许闲置时间
	 */
	public static final String DEF_GLOBAL_TIMETOIDLESECONDS = "timeToIdleSeconds";

	/**
	 * 设置Element在失效前允许存活时间
	 */
	public static final String DEF_GLOBAL_TIMETOLIVESECONDS = "timeToLiveSeconds";
	
	/**
	 * 磁盘失效线程运行时间间隔
	 */
	public static final String DEF_GLOBAL_DISKEXPIRYTHREADINTERVALSECONDS = "diskExpiryThreadIntervalSeconds";
	
	/**
	 * 这个参数设置DiskStore的磁盘缓冲区大小
	 */
	public static final String DEF_GLOBAL_DISKSPOOLBUFFERSIZEMB = "diskSpoolBufferSizeMB";
	
	/**
	 * Schema对象处理标志
	 */
	public static final String SCHEMA_PROCESSING_FLAG = "processingFlag";
	
	/**
	 * 英文句号字符
	 */
	public static final Character DOT_CHARACTER = '.';
	
	/**
	 * 数据库字段的正则表达式
	 */
	public static final String REGEX_DBFIELD_VARIABLE = "[a-zA-Z0-9_\\$]*\\.[a-zA-Z0-9_\\$]*\\.[a-zA-Z0-9_\\$\\:]*";
	
	/**
	 * 正则表达式:分离{}内容
	 */
	public static final String REGEX_PARAM_VARIABLE = "\\{([^}]*)\\}";
	
	/**
	 * Excel电子表格的2003版文件后缀名
	 */
	public static final String FILE_SUFFIX_EXCEL_2003 = "xls";
	
	/**
	 * Excel电子表格的2007(2010)版文件后缀名
	 */
	public static final String FILE_SUFFIX_EXCEL_2007 = "xlsx";
	
	/**
	 * pdf文件
	 */
	public static final String FILE_SUFFIX_PDF = "pdf";
	
	/**
	 * 压缩包文件
	 */
	public static final String FILE_SUFFIX_ZIP = "zip";
	
	/**
	 * 回车符
	 */
	public static final String LINE_FEED_CHARACTER_R = "\r";
	
	/**
	 * 换行符
	 */
	public static final String LINE_FEED_CHARACTER_N = "\n";
	
	/**
	 * 回车符换行符
	 */
	public static final String LINE_FEED_CHARACTER_RN = "\r\n";
	
	/**
	 * 电子邮件模板变量表达式
	 */
	public static final String VARIABLE_EXP = "\\{\\w+\\}";
	
	/**
	 * http协议请求头标识
	 */
	public static final String REQUEST_HEAD_HTTP = "http://";
	
	/**
	 * 本地文件系统请求头标识
	 */
	public static final String REQUEST_HEAD_LOCAL_FS = "file://";

	/**
	 * 应用认证的应用属性键
	 */
	public static final String APP_PROPCODE_LOGINAUTH = "loginAuth";
	
	/**
	 * JobDetailMap中表示JobConfig的键
	 */
	public static final String JOB_CONFIG_KEY = "JOB_CONFIG";
	
	/**
	 * JobDetailMap中表示部署容器的键
	 */
	public static final String JOB_CONTAINER_NAME_KEY = "JOB_CONTAINER_NAME";

	/**
	 *  任务名称前缀
	 */
	public static final String JOB_NAME_PREFIX = "JOB";

	/**
	 *  任务组名称前缀
	 */
	public static final String JOB_GROUP_PREFIX = "JGROUP";

	/**
	 *  触发器名称前缀
	 */
	public static final String TRIGGER_NAME_PREFIX = "TRIGGER";

	/**
	 *  触发器组名称前缀
	 */
	public static final String TRIGGER_GROUP_PREFIX = "TGROUP";
	
	/**
	 *  页面数据查询操作
	 */
	public static final String ACTION_VIEW = "view";

	/**
	 * 换行符号
	 */
	public static final String NEW_LINE = "\n";
	
	/**
	 * 字符类型
	 */
	public static final String TYPE_VARCHAR = "varchar";
	
	/**
	 * 数值类型
	 */
	public static final String TYPE_DECIMAL = "decimal";
	
	/**
	 * 日期类型
	 */
	public static final String TYPE_DATE = "date";
	
	/**
	 * 日时类型
	 */
	public static final String TYPE_DATETIME = "datetime";
	
	/**
	 * 江苏省分公司组织机构代码
	 */
	public static final String ORG_CODE_JIANGSU = "32000000";
	
	/**
	 * 是否可用
	 */
	public static final String Available="Y";
	
	public static final String Unavailable = "N";
	
	/**
	 * cms后台管理员角色编码
	 */
	public static final String CMS_ADMIN_CODE = "cmsAdmin";
	
	/**
   	 * 模板路径
   	 */
   	public static final String TPL_BASE = "/WEB-INF/views/cms/front";
   	
   	/**
   	 * 栏目模式-文章
   	 */
   	public static final String CATEGORY_MODULE_ARTICLE = "article";
}