|
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-2021 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.