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

📄 daofactory.java

📁 一个功能较为完善的论坛
💻 JAVA
字号:
/*
 * XP Forum
 *
 * Copyright (c) 2002-2003 RedSoft Group.  All rights reserved.
 *
 */
package org.redsoft.forum.dao;

import org.redsoft.forum.dao.mysql.MysqlDAOFactory;
import org.redsoft.forum.dao.xml.ForumDAOxml;
import org.redsoft.forum.dao.mock.MockDAOFactory;
import org.apache.struts.action.ActionServlet;

import javax.sql.DataSource;

/**
 * Abstract DAO Factory
 *
 * To get a DAO, e.g. ThreadDAO, do this way:<p>
 *
 * <tt>ThreadDAO threadDAO = DAOFactory.getInstance().getThreadDAO()</tt>
 *
 * @author <a href="mailto:jwtronics@yahoo.com">John Wong</a>
 *
 * @version $Id: DAOFactory.java,v 1.2 2003/07/17 07:43:20 cinc Exp $
 */
public abstract class DAOFactory {
	public static DAOFactory factory = null;

    private ForumDAO forumDAO;

	/**
	 * Singleton for DAO factory instanciation
	 *
	 * @param theObj parameter
	 */
	public static DAOFactory getInstance() {
		if(factory == null) {
			factory = new MysqlDAOFactory();
		}

		return factory;
	}

	/**
	 * Initialize the DAOFactory with a Object parameter
	 *
	 * @param theObj parameter
	 */
	public abstract void init(Object theObj);

	/**
	 * Return Thread DAO object
	 */
	public abstract ThreadDAO getThreadDAO();

    /**
     *  Return Account DAO object
     */
    public abstract AccountDAO getAccountDAO();

    /**
     * Build a ForumDAO object according to the file specified
     */
    public void buildForumDAO(String filename){
        if (forumDAO == null){
            forumDAO = new ForumDAOxml(filename);
        }
    }
    /**
     * Return Forum DAO Object
     */
    public ForumDAO getForumDAO(){
        return forumDAO;
    }

    public static void buildMysqlDAOFactory() {
        if(factory == null) {
            factory = new MysqlDAOFactory();
        }
    }

    public static void buildMockDAOFactory() {
        if(factory == null) {
            System.out.println( "Init Mock DAO Factory" );
            factory = new MockDAOFactory();
        }
    }

}//EOC

⌨️ 快捷键说明

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