📄 topicfactory.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 + -