daowrapper.java

来自「这是一款最新的野蔷薇论坛源码,有需要的朋友可以尽情下载」· Java 代码 · 共 52 行

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

import org.apache.log4j.Logger;

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


public class DAOWrapper<DAO> {
	
	private static final Logger logger = Logger.getLogger(DAOWrapper.class);
	
	public static Cache DAO_CACHE =  CacheFactory.creator(CacheRegion.DAO);
	
	private static DAOManager DAO_MANAGER;
	
	public static<DAO> DAO getDAO(String locator){
		DAO_MANAGER = new DAOImpl<DAO>();
		DAO dao = DAOWrapper.<DAO>getDAOManager().getDAO(locator);
		return dao;
	}
	
	@SuppressWarnings("unchecked")
	public static<DAO> DAO getSingletonInstance(String locator){
		DAO dao = (DAO) DAO_CACHE.get(locator);
		if(Validator.isEmpty(dao)){
			dao = DAOWrapper.<DAO>getDAOManager().getDAO(locator);
			DAO_CACHE.put(locator,dao);
		}
		return dao;
	}
	

	@SuppressWarnings("unchecked")
	public static<DAO> DAOManager<DAO> getDAOManager(){
		DAO_MANAGER = (DAOManager) DAO_CACHE.get("com.yeqiangwei.club.dao.DAOManager");
		if(Validator.isEmpty(DAO_MANAGER)){
			DAO_MANAGER = new DAOImpl<DAO>();
			DAO_CACHE.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 + -
显示快捷键?