?? postxml.java
字號:
/*
* $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/admin/PostXML.java,v 1.3 2004/01/18 19:13:10 minhnn Exp $
* $Author: minhnn $
* $Revision: 1.3 $
* $Date: 2004/01/18 19:13:10 $
*
* ====================================================================
*
* Copyright (C) 2002-2004 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: Igor Manic imanic@users.sourceforge.net
*/
package com.mvnforum.admin;
import java.io.IOException;
import java.util.*;
import com.mvnforum.admin.importexport.XMLUtil;
import com.mvnforum.admin.importexport.XMLWriter;
import com.mvnforum.db.DAOFactory;
import com.mvnforum.db.PostDAO;
import net.myvietnam.mvncore.exception.*;
import net.myvietnam.mvncore.filter.DisableHtmlTagFilter;
import net.myvietnam.mvncore.filter.EnableHtmlTagFilter;
/**
* @author <a href="mailto:imanic@users.sourceforge.net">Igor Manic</a>
* @version $Revision: 1.3 $, $Date: 2004/01/18 19:13:10 $
* <br/>
* <code>PostXML</code> todo Igor: enter description
*
*/
public class PostXML {
private int postID;
/** Returns <code>PostID</code> of this post or
* <code>-1</code> if post is not created yet. */
public int getPostID() { return postID; }
private int parentPostID;
/** Returns <code>PostID</code> of this post's parent post (which means this post is
* reply to that parent post), or <code>0</code> if this post is not created yet or
* has no parent post (first post in a thread). */
public int getParentPostID() { return parentPostID; }
private int parentThreadID;
/** Returns <code>ThreadID</code> of this post's parent thread or
* <code>-1</code> if this post is not created yet. */
public int getParentThreadID() { return parentThreadID; }
private int parentForumID;
/** Returns <code>ForumID</code> of this post's parent forum or
* <code>-1</code> if this post is not created yet. */
public int getParentForumID() { return parentForumID; }
private int parentCategoryID;
/** Returns <code>CategoryID</code> of this post's parent category or
* <code>-1</code> if this post is not created yet. */
public int getParentCategoryID() { return parentCategoryID; }
public PostXML() {
super();
postID=-1;
parentPostID=0;
parentThreadID=-1;
parentForumID=-1;
parentCategoryID=-1;
}
public void setPostID(String id) {
postID=XMLUtil.stringToIntDef(id, -1);
}
public void setParentPost(Object o)
throws ForeignKeyNotFoundException {
if (o instanceof PostXML) {
parentPostID=((PostXML)o).getPostID();
} else {
throw new ForeignKeyNotFoundException("Can't find parent post's ID");
}
}
public void setParentPostID(int value) {
if (value<0) parentPostID=-1;
else parentPostID=value;
}
/* WARNING: this post can be reply (in which case next 3 setParent***() methods
* will get PostXML from the Digester stack), or it can be the first post in
* (a thread (in which case they will get ThreadXML from the stack)
*/
public void setParentThread(Object o)
throws ForeignKeyNotFoundException {
if (o instanceof ThreadXML) {
parentThreadID=((ThreadXML)o).getThreadID();
} else if (o instanceof PostXML) {
parentThreadID=((PostXML)o).getParentThreadID();
} else {
throw new ForeignKeyNotFoundException("Can't find parent thread's ID");
}
}
public void setParentThreadID(int value) {
if (value<0) parentThreadID=-1;
else parentThreadID=value;
}
public void setParentForum(Object o)
throws ForeignKeyNotFoundException {
if (o instanceof ThreadXML) {
parentForumID=((ThreadXML)o).getParentForumID();
} else if (o instanceof PostXML) {
parentForumID=((PostXML)o).getParentForumID();
} else {
throw new ForeignKeyNotFoundException("Can't find parent forum's ID");
}
}
public void setParentForumID(int value) {
if (value<0) parentForumID=-1;
else parentForumID=value;
}
public void setParentCategory(Object o)
throws ForeignKeyNotFoundException {
if (o instanceof ThreadXML) {
parentCategoryID=((ThreadXML)o).getParentCategoryID();
} else if (o instanceof PostXML) {
parentCategoryID=((PostXML)o).getParentCategoryID();
} else {
throw new ForeignKeyNotFoundException("Can't find parent category's ID");
}
}
public void setParentCategoryID(int value) {
if (value<0) parentCategoryID=-1;
else parentCategoryID=value;
}
/**
* Creates a post. All argument values (<code>int</code>s, <code>Timestamp</code>s, ...)
* are represented as <code>String</code>s, because of more convenient using
* of this method for XML parsing.
*
* @param memberName Member that created the post. Can be null.
* @param lastEditMemberName Can be null.
* @param postTopic Subject of post.
* @param postBody Message body.
* @param postCreationDate Can be null.
* @param postLastEditDate Can be null.
* @param postCreationIP Can be null.
* @param postLastEditIP Can be null.
* @param postEditCount Can be null.
* @param postFormatOption Can be null.
* @param postOption Can be null.
* @param postStatus Can be null.
* @param postIcon Can be null.
* @param postAttachCount Can be null.
*
* @throws CreateException
* @throws DuplicateKeyException
* @throws ObjectNotFoundException
* @throws DatabaseException
* @throws ForeignKeyNotFoundException
*
*/
public void addPost(String memberName, String lastEditMemberName,
String postTopic, String postBody,
String postCreationDate, String postLastEditDate,
String postCreationIP, String postLastEditIP,
String postEditCount, String postFormatOption,
String postOption, String postStatus,
String postIcon, String postAttachCount)
throws CreateException, DuplicateKeyException, ObjectNotFoundException,
DatabaseException, ForeignKeyNotFoundException {
if (parentPostID<0) {
throw new CreateException("Can't create a post, because no parent post assigned yet.");
} else if (parentThreadID<0) {
throw new CreateException("Can't create a post, because no parent thread assigned yet.");
} else if (parentForumID<0) {
throw new CreateException("Can't create a post, because no parent forum assigned yet.");
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -