|
What this is
Other links
The source code
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/db/ThreadBean.java,v 1.15 2005/01/18 11:52:19 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.15 $
* $Date: 2005/01/18 11:52:19 $
*
* ====================================================================
*
* Copyright (C) 2002-2005 by MyVietnam.net
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or any later version.
*
* All copyright notices regarding mvnForum MUST remain intact
* in the scripts and in the outputted HTML.
* The "powered by" text/logo with a link back to
* http://www.mvnForum.com and http://www.MyVietnam.net in the
* footer of the pages MUST remain visible when the pages
* are viewed on the internet or intranet.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Support can be obtained from support forums at:
* http://www.mvnForum.com/mvnforum/index
*
* Correspondence and Marketing Questions can be sent to:
* info@MyVietnam.net
*
* @author: Minh Nguyen minhnn@MyVietnam.net
* @author: Mai Nguyen mai.nh@MyVietnam.net
*/
package com.mvnforum.db;
import java.sql.Timestamp;
import java.util.Collection;
import java.util.Iterator;
import net.myvietnam.mvncore.util.StringUtil;
/*
* Included columns: ThreadID, ForumID, MemberName, LastPostMemberName, ThreadTopic,
* ThreadBody, ThreadVoteCount, ThreadVoteTotalStars, ThreadCreationDate, ThreadLastPostDate,
* ThreadType, ThreadOption, ThreadStatus, ThreadHasPoll, ThreadViewCount,
* ThreadReplyCount, ThreadIcon, ThreadDuration
* Excluded columns:
*/
public class ThreadBean {
/*************************************************************************
* NOTE: below constants MUST NOT be changed IN ALL CASES,
* or it will break the compatibility
*************************************************************************/
/**
* The default value mean thread is enable and normal
*/
public final static int THREAD_STATUS_DEFAULT = 0;
/**
* The disable thread is invisible for normal user and visible to moderator
*/
public final static int THREAD_STATUS_DISABLED = 1;
/**
* No changes (edit, attach, reply) could be maded, moderator
* have to change this status before making any changes is possible
*/
public final static int THREAD_STATUS_LOCKED = 2;
/**
* Noone can reply, but moderator can change it.
*/
public final static int THREAD_STATUS_CLOSED = 3;
/**
* Thread type is traditional
*/
public final static int THREAD_TYPE_DEFAULT = 0;
public final static int THREAD_TYPE_STICKY = 1;
public final static int THREAD_TYPE_FORUM_ANNOUNCEMENT = 2;
public final static int THREAD_TYPE_GLOBAL_ANNOUNCEMENT = 3;
private int threadID;
private int forumID;
private String memberName;
private String lastPostMemberName;
private String threadTopic;
private String threadBody;
private int threadVoteCount;
private int threadVoteTotalStars;
private Timestamp threadCreationDate;
private Timestamp threadLastPostDate;
private int threadType;
private int threadOption;
private int threadStatus;
private int threadHasPoll;
private int threadViewCount;
private int threadReplyCount;
private String threadIcon;
private int threadDuration;
private int threadAttachCount;
public int getThreadID() {
return threadID;
}
public void setThreadID(int threadID) {
this.threadID = threadID;
}
public int getForumID() {
return forumID;
}
public void setForumID(int forumID) {
this.forumID = forumID;
}
public String getMemberName() {
return memberName;
}
public void setMemberName(String memberName) {
this.memberName = memberName;
}
public String getLastPostMemberName() {
return lastPostMemberName;
}
public void setLastPostMemberName(String lastPostMemberName) {
this.lastPostMemberName = lastPostMemberName;
}
public String getThreadTopic() {
return threadTopic;
}
public void setThreadTopic(String threadTopic) {
this.threadTopic = threadTopic;
}
public String getThreadBody() {
return threadBody;
}
public void setThreadBody(String threadBody) {
this.threadBody = threadBody;
}
public int getThreadVoteCount() {
return threadVoteCount;
}
public void setThreadVoteCount(int threadVoteCount) {
this.threadVoteCount = threadVoteCount;
}
public int getThreadVoteTotalStars() {
return threadVoteTotalStars;
}
public void setThreadVoteTotalStars(int threadVoteTotalStars) {
this.threadVoteTotalStars = threadVoteTotalStars;
}
public Timestamp getThreadCreationDate() {
return threadCreationDate;
}
public void setThreadCreationDate(Timestamp threadCreationDate) {
this.threadCreationDate = threadCreationDate;
}
public Timestamp getThreadLastPostDate() {
return threadLastPostDate;
}
public void setThreadLastPostDate(Timestamp threadLastPostDate) {
this.threadLastPostDate = threadLastPostDate;
}
public int getThreadType() {
return threadType;
}
public void setThreadType(int threadType) {
this.threadType = threadType;
}
public int getThreadOption() {
return threadOption;
}
public void setThreadOption(int threadOption) {
this.threadOption = threadOption;
}
public int getThreadStatus() {
return threadStatus;
}
public void setThreadStatus(int threadStatus) {
this.threadStatus = threadStatus;
}
public int getThreadHasPoll() {
return threadHasPoll;
}
public void setThreadHasPoll(int threadHasPoll) {
this.threadHasPoll = threadHasPoll;
}
public int getThreadViewCount() {
return threadViewCount;
}
public void setThreadViewCount(int threadViewCount) {
this.threadViewCount = threadViewCount;
}
public int getThreadReplyCount() {
return threadReplyCount;
}
public void setThreadReplyCount(int threadReplyCount) {
this.threadReplyCount = threadReplyCount;
}
public String getThreadIcon() {
return threadIcon;
}
public void setThreadIcon(String threadIcon) {
this.threadIcon = StringUtil.getEmptyStringIfNull(threadIcon);
}
public int getThreadDuration() {
return threadDuration;
}
public void setThreadDuration(int threadDuration) {
this.threadDuration = threadDuration;
}
public int getThreadAttachCount() {
return this.threadAttachCount;
}
public void setThreadAttachCount(int attachCount) {
this.threadAttachCount = attachCount;
}
public String getXMLTag() {
StringBuffer xml = new StringBuffer(1024);
xml.append("<Thread");
xml.append(" threadID=\"").append(String.valueOf(threadID)).append("\"");
xml.append(" forumID=\"").append(String.valueOf(forumID)).append("\"");
xml.append(" memberName=\"").append(String.valueOf(memberName)).append("\"");
xml.append(" lastPostMemberName=\"").append(String.valueOf(lastPostMemberName)).append("\"");
xml.append(" threadTopic=\"").append(String.valueOf(threadTopic)).append("\"");
xml.append(" threadBody=\"").append(String.valueOf(threadBody)).append("\"");
xml.append(" threadVoteCount=\"").append(String.valueOf(threadVoteCount)).append("\"");
xml.append(" threadVoteTotalStars=\"").append(String.valueOf(threadVoteTotalStars)).append("\"");
xml.append(" threadCreationDate=\"").append(String.valueOf(threadCreationDate)).append("\"");
xml.append(" threadLastPostDate=\"").append(String.valueOf(threadLastPostDate)).append("\"");
xml.append(" threadType=\"").append(String.valueOf(threadType)).append("\"");
xml.append(" threadOption=\"").append(String.valueOf(threadOption)).append("\"");
xml.append(" threadStatus=\"").append(String.valueOf(threadStatus)).append("\"");
xml.append(" threadHasPoll=\"").append(String.valueOf(threadHasPoll)).append("\"");
xml.append(" threadViewCount=\"").append(String.valueOf(threadViewCount)).append("\"");
xml.append(" threadReplyCount=\"").append(String.valueOf(threadReplyCount)).append("\"");
xml.append(" threadIcon=\"").append(String.valueOf(threadIcon)).append("\"");
xml.append(" threadDuration=\"").append(String.valueOf(threadDuration)).append("\"");
xml.append(" threadAttachCount=\"").append(String.valueOf(threadAttachCount)).append("\"");
xml.append(">");
return xml.toString();
}
public String getXML() {
StringBuffer xml = new StringBuffer(1024);
xml.append("<ThreadSection>\n");
xml.append(" <Rows>\n");
xml.append(" <Row>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadID\n");
xml.append(" <Value>").append(String.valueOf(threadID)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ForumID\n");
xml.append(" <Value>").append(String.valueOf(forumID)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>MemberName\n");
xml.append(" <Value>").append(String.valueOf(memberName)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>LastPostMemberName\n");
xml.append(" <Value>").append(String.valueOf(lastPostMemberName)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadTopic\n");
xml.append(" <Value>").append(String.valueOf(threadTopic)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadBody\n");
xml.append(" <Value>").append(String.valueOf(threadBody)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadVoteCount\n");
xml.append(" <Value>").append(String.valueOf(threadVoteCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadVoteTotalStars\n");
xml.append(" <Value>").append(String.valueOf(threadVoteTotalStars)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadCreationDate\n");
xml.append(" <Value>").append(String.valueOf(threadCreationDate)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadLastPostDate\n");
xml.append(" <Value>").append(String.valueOf(threadLastPostDate)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadType\n");
xml.append(" <Value>").append(String.valueOf(threadType)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadOption\n");
xml.append(" <Value>").append(String.valueOf(threadOption)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadStatus\n");
xml.append(" <Value>").append(String.valueOf(threadStatus)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadHasPoll\n");
xml.append(" <Value>").append(String.valueOf(threadHasPoll)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadViewCount\n");
xml.append(" <Value>").append(String.valueOf(threadViewCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadReplyCount\n");
xml.append(" <Value>").append(String.valueOf(threadReplyCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadIcon\n");
xml.append(" <Value>").append(String.valueOf(threadIcon)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadDuration\n");
xml.append(" <Value>").append(String.valueOf(threadDuration)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadAttachCount\n");
xml.append(" <Value>").append(String.valueOf(threadAttachCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" </Row>\n");
xml.append(" </Rows>\n");
xml.append("</ThreadSection>\n");
return xml.toString();
}
public static String getXML(Collection objThreadBeans) {
StringBuffer xml = new StringBuffer(1024);
Iterator iterator = objThreadBeans.iterator();
xml.append("<ThreadSection>\n");
xml.append(" <Rows>\n");
while (iterator.hasNext()) {
ThreadBean objThreadBean = (ThreadBean)iterator.next();
xml.append(" <Row>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadID\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadID)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ForumID\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.forumID)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>MemberName\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.memberName)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>LastPostMemberName\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.lastPostMemberName)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadTopic\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadTopic)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadBody\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadBody)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadVoteCount\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadVoteCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadVoteTotalStars\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadVoteTotalStars)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadCreationDate\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadCreationDate)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadLastPostDate\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadLastPostDate)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadType\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadType)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadOption\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadOption)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadStatus\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadStatus)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadHasPoll\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadHasPoll)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadViewCount\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadViewCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadReplyCount\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadReplyCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadIcon\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadIcon)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadDuration\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadDuration)).append("\n");
xml.append(" </Column>\n");
xml.append(" <Column>\n");
xml.append(" <Name>ThreadAttachCount\n");
xml.append(" <Value>").append(String.valueOf(objThreadBean.threadAttachCount)).append("\n");
xml.append(" </Column>\n");
xml.append(" </Row>\n");
}//while
xml.append(" </Rows>\n");
xml.append("</ThreadSection>\n");
return xml.toString();
}
/************************************************
* Customized methods come below
************************************************/
private int threadPendingPostCount;
public int getThreadPendingPostCount() {
return threadPendingPostCount;
}
public void setThreadPendingPostCount(int threadPendingPostCount) {
this.threadPendingPostCount = threadPendingPostCount;
}
private Collection pendingPosts;
public Collection getPendingPosts() {
return pendingPosts;
}
public void setPendingPosts(Collection pendingPosts) {
this.pendingPosts = pendingPosts;
}
static public void validateThreadStatus(int status) throws IllegalArgumentException {
if ((status < 0) || (status > THREAD_STATUS_CLOSED)) {
throw new IllegalArgumentException("Invalid ThreadStatus = " + status);
}
}
static public void validateThreadType(int type) throws IllegalArgumentException {
if ((type < 0) || (type > THREAD_TYPE_GLOBAL_ANNOUNCEMENT)) {
throw new IllegalArgumentException("Invalid ThreadType = " + type);
}
}
public void ensureStatusCanReply() throws IllegalArgumentException {
if ( (getThreadStatus() == ThreadBean.THREAD_STATUS_LOCKED) ||
(getThreadStatus() == ThreadBean.THREAD_STATUS_CLOSED)) {
// or we can throw AssertionException. indicate that the gui MUST hide the option
//@todo : localize me
throw new IllegalStateException("Cannot reply when the thread is closed or locked.");
}
}
public void ensureStatusCanEdit() throws IllegalArgumentException {
if ( (getThreadStatus() == ThreadBean.THREAD_STATUS_LOCKED) ) {
// or we can throw AssertionException. indicate that the gui MUST hide the option
//@todo : localize me
throw new IllegalStateException("Cannot edit post when the thread is locked.");
}
}
} //end of class ThreadBean
|
| ... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.