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

📄 topicfactory.java

📁 bbs struts
💻 JAVA
字号:
package com.ntsky.bbs.service;

import java.util.*;

import org.apache.log4j.Logger ;
import com.ntsky.bbs.service.Topic;
/**
 * <p>Title: Ntsky OpenSource BBS</p>
 * <p>Description: 帖子处理工厂</p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: WWW.FM880.COM</p>
 * @author 姚君林
 * @version 1.0
 */
public abstract class TopicFactory {
    private final static Logger logger = Logger.getLogger(TopicFactory.class);
    private static Object initLock = new Object();
    private static TopicFactory factory = null;
    private final static String CLASSNAME =
        "com.ntsky.bbs.service.db.DBTopicFactory";

    /**
     * 创建主题
     */
    protected abstract boolean createTopic(Topic topic);

    /**
     * 更新主题状态
     * @param topicId int
     * @param type String
     */
    public abstract void upTopicState(int topicId,String type,String usrName);

    /**
     * 获取主题和帖子总和
     */
    protected abstract String[] sumTopicRep();

    /**
     * 单个主题数据
     */
    protected abstract Topic listTopic(int topicId);

    /**
     * 修改用户
     */
    protected abstract void upTopicHits(int topicId);

    /**
     * 获取已有数据
     */
    protected abstract void editTopic(Topic topic);

    /**
     * 删除用户
     */
    public abstract void delTopic(int topicId);

    /**
     * 主题总数
     */
    protected abstract int sumBoardTopic(int boaId);
    /**
     * 主题列表
     */
    protected abstract Iterator topicList(int max , int page);
    /**
     * 最新主题
     */
    protected abstract Topic listNewTopic(int boaId);
    /**
     * 获取UserFactory实例,使用了简单工厂模式
     * @return
     */
    public static TopicFactory getInstance() {
        if (factory == null) {
            //使用synchronzed保证一次只有一个实例能访问DBUser对象
            synchronized (initLock) {
                if (factory == null) {
                    try {
                        //创建DBUser的一个实例
                        Class c = Class.forName(CLASSNAME);
                        factory = (TopicFactory) c.newInstance();
                        logger.info("获取帖子处理的实例成功");
                    }
                    catch (Exception e) {
                        System.err.println(
                            "TopicFactory Exception loading class: " +
                            e.getMessage());
                        e.printStackTrace();
                    }
                }
            }
        }
        return factory;
    }
}

⌨️ 快捷键说明

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