⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tanghanconfig.java

📁 eclipse的hibernate插件,支持eclipse2.*版本
💻 JAVA
字号:
/* * Created on 2003-4-14 * */package com.tanghan.util;import java.util.HashMap;import java.util.ResourceBundle;import org.apache.log4j.Logger;import org.w3c.dom.*;import com.tanghan.util.Log;import com.tanghan.util.config.Config;//import org.apache.xerces.dom.*;/** * TO_DO 修改Config类的调用方式, 修改循环调用的问题 *  * @author Jerry Tang * @version v0.1.0 * @copyright  (C) 2003 Tanghan工作组 *  */public class TanghanConfig {		/**系统变量: Tanghan Lib的根目录*/	public static final String TANGHANLIBHOME = "TanghanLib.Home";		/**系统变量: Tanghan Lib的配置文件*/	public static final String TANGHANLIBCONFIGEFILE = "TanghanLib.ConfigFile";		/**日志*/	private static Logger log = Log.getInstanse().getLogger("TanghanConfig"); 		/**自身引用	 * 在继承TanghanConfig时必须通过	 * */	private static TanghanConfig configInstance=null;		/**TanghanLib环境变量存储的类*/	private static HashMap properties=new HashMap();		/**配置文件路径*/	private static String configFileName = "";		/**系统目录分割苻*/	private static String SEPARATOR=(System.getProperties()).getProperty("file.separator");			/** Creates a new instance of TanghanConfig */	private TanghanConfig() {	}		/**	 * 初始化数据	 * */	private synchronized static void initInstance(){		if(null == configInstance){			configInstance=new TanghanConfig();			log.info("Config properties....");			//loadFilePath() ;			loadProperties();				log.info("Config properties Done!") ;		}	}	/**	 * 重新载入配置文件	 * */	public static void reload(){		configInstance = null;		log.info("Config released OK!");		initInstance();	}	/**	 * 得到环境变量	 * @param pParam 环境变量	 * @return 环境变量的值,如果没有则为null	 * */	public static String getProperty(String pParam){		if(configInstance==null){			initInstance();            		}		String value=(String)properties.get(pParam) ;		return value;	}	/**	 * 改变环境变量值	 * @param pParam 环境变量	 * @param value 环境变量的值	 * */	public static void setProperty(String sysParam, String value){		if(configInstance==null){			initInstance();            		}		properties.put(sysParam,value);	}			/**	 * 根据根目录构造配置文件的目录	 * */	private static void loadFilePath(){	   String home=DealSystem.getClassRootPath(TanghanConfig.class) ;	   log.info(TANGHANLIBHOME+":"+home);	   configFileName = home;	   properties.put(TANGHANLIBHOME,home);	   String configFile=configFileName+"config"+SEPARATOR+"Config.xml";	   properties.put(TANGHANLIBCONFIGEFILE,configFile) ;	   log.info(TANGHANLIBCONFIGEFILE+":"+configFile);	}	/**	 * 载入配置文件	 * */	private static void loadProperties(){		Document doc = null;		try{			//doc =XMLUtility.xml2Document(TanghanConfig.getProperty(TANGHANLIBCONFIGEFILE)) ;			doc =  XMLUtility.xml2Document(TanghanConfig.class.getClassLoader().getResourceAsStream("config"+SEPARATOR+"Config.xml"));		}catch(Exception ex){			log.error(ex.getMessage(),ex);		}		Element rootElement=doc.getDocumentElement() ;		loadConfig(rootElement);	}    		/**	  * 载入各种自定义的配置文件类	  * @param rootElement 配置文件根目录Dom	  * */	 private static void loadConfig(Element rootElement){		 Element configClassElement=(Element)(rootElement.getElementsByTagName("Config").item(0));		 try{			 NodeList nodelist=configClassElement.getElementsByTagName("ConfigClass");			 String className = null;			 for(int i=0;i<nodelist.getLength();i++){				 className = null;				 try{					 className = XMLUtility.getNodeAttr(configClassElement,"ConfigClass","Value",i);					 if(className==null)						 break;					 Config obj = null;					 obj =  (Config)Class.forName(className.trim()).newInstance();					 //根据配置类重的rootName得到相应的xml相对根结点					 if(DealString.equals(obj.getRootName(),"")){						obj.dealConfigInfo(properties,rootElement);					 }else{						Element elem=(Element)(rootElement.getElementsByTagName(DealString.trim(obj.getRootName())).item(0));						obj.dealConfigInfo(properties,elem);					 }				 }catch(Exception e){					 log.error("Load"+className+"配置类时发生错误",e);				 }			 }		 }catch(Exception e){			log.error("LoadConfig时发生错误",e);		 }	 }		 public static void setTanghanExceptionErrorCodes(ResourceBundle res){	 		 }	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -