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

📄 topicutil.java

📁 基于struct结构的jsp
💻 JAVA
字号:
package com.ntsky.bbs.service;

import java.util.*;
import org.apache.log4j.Logger ;

import com.ntsky.bbs.service.TopicFactory;
import com.ntsky.bbs.service.ReplyFactory;

/**
 * <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 class TopicUtil {

    private final static Logger logger = Logger.getLogger(TopicUtil.class);
    private static TopicFactory topicFactory = null;
    private static TopicUtil topicUtil = null;
    private static Object obj = new Object();
    private static List list = new ArrayList();

    /**
     * 静态方法类装载的时候获取主题实例
     */
    static {
        topicFactory = TopicFactory.getInstance();
    }

    public TopicUtil(){
        //将最新的用户添加到数组
        list.add(0,topicFactory.sumTopicRep());
    }

    public static TopicUtil getInstance() {
        if (topicUtil == null) {
            //使用synchronzed保证一次只有一个实例能访问TopicUtil对象
            synchronized (obj) {
                if (topicUtil == null) {
                    try {
                        topicUtil = new TopicUtil();
                     }
                    catch (Exception e) {
                        System.err.println(
                            "TopicUtil Exception loading class: " +
                            e.getMessage());
                        e.printStackTrace();
                    }
                }
            }
        }
        return topicUtil;
    }

    /**
     * 模块主题总数
     */
    public static int getSumBoardTopic(int boaId){
        return topicFactory.sumBoardTopic(boaId);
    }

    /**
     * 创建主题
     */
    public static Topic createTopic(Topic topic){
        logger.info("创建主题......");
        return topicFactory.createTopic(topic);
    }

    /**
     * 修改主题
     */
    public static void editTopic(Topic topic){
        topicFactory.editTopic(topic);
    }

    /**
     * 单个主题的详细信息
     */
    public static Topic listTopic(int topicId){
        return topicFactory.listTopic(topicId);
    }

    /**
     * 回复信息列表
     */
    public static Iterator listReply(int topicId){
        return ReplyFactory.getInstance().listReply(topicId);
    }

    /**
     * 获取主题和帖子总和
     */
    public String[] sumTopicRep(){
        return (String[])list.get(0);
    }

    /**
     * 更新帖子热度
     */
    public static void upTopicHits(int topicId){
        topicFactory.upTopicHits(topicId);
    }

    /**
     * 当添加修改删除帖子时候更新
     */
    public static void reset(){
        try{
            list.remove(0);
        }
        catch(Exception ex){
            logger.error("清空数组失败....." + ex.getMessage());
        }
        list.add(0,topicFactory.sumTopicRep());
    }

    /**
     * 主题列表
     */
    public static Iterator topicList(int topicBoaId , int page){
        return topicFactory.topicList(topicBoaId,page);
    }

    /**
     * 最新主题
     */
    public static Topic listNewTopic(int boaId){
        return topicFactory.listNewTopic(boaId);
    }
}

⌨️ 快捷键说明

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