daowrapper.java

来自「社区文章采用的是平板、树形自由选择的两种展示方式」· Java 代码 · 共 45 行

JAVA
45
字号
/* 
 * Created on 2007-1-23
 * Last modified on 2008-1-1
 * Powered by YeQiangWei.com
 */
package com.yeqiangwei.club.dao;

import org.apache.log4j.Logger;

import com.yeqiangwei.cache.Cache;
import com.yeqiangwei.club.cache.CacheRegion;
import com.yeqiangwei.cache.singleton.CacheFactory;
import com.yeqiangwei.util.Validator;


public class DAOWrapper<DAO> {
	
	private static final Logger logger = Logger.getLogger(DAOWrapper.class);

	public static<DAO> DAO getDAO(String locator){
		return DAOWrapper.<DAO>getSingletonInstance(locator);
	}

	public static<DAO> DAO getSingletonInstance(String locator){
		Cache<DAO> CACHE_DAO =  CacheFactory.<DAO>creator(CacheRegion.DAO);
		DAO dao = CACHE_DAO.get(locator);
		if(Validator.isEmpty(dao)){
			dao = DAOWrapper.<DAO>getDAOManager().getDAO(locator);
			CACHE_DAO.put(locator,dao);
		}
		return dao;
	}

	public static<DAO> DAOManager<DAO> getDAOManager(){
		Cache<DAOManager<DAO>> CACHE_DM =  CacheFactory.<DAOManager<DAO>>creator(CacheRegion.DAO);
		DAOManager<DAO> DAO_MANAGER = CACHE_DM.get("com.yeqiangwei.club.dao.DAOManager");
		if(Validator.isEmpty(DAO_MANAGER)){
			DAO_MANAGER = new DAOImpl<DAO>();
			CACHE_DM.put("com.yeqiangwei.club.dao.DAOManager",DAO_MANAGER);
			logger.info("create: com.yeqiangwei.club.dao.DAOManager");
		}
		return DAO_MANAGER;
	}
}

⌨️ 快捷键说明

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