001: /*
002: * $Header: /cvsroot/mvnforum/mvnforum/src/com/mvnforum/db/WatchDAO.java,v 1.16 2007/10/09 11:09:20 lexuanttkhtn Exp $
003: * $Author: lexuanttkhtn $
004: * $Revision: 1.16 $
005: * $Date: 2007/10/09 11:09:20 $
006: *
007: * ====================================================================
008: *
009: * Copyright (C) 2002-2007 by MyVietnam.net
010: *
011: * All copyright notices regarding mvnForum MUST remain
012: * intact in the scripts and in the outputted HTML.
013: * The "powered by" text/logo with a link back to
014: * http://www.mvnForum.com and http://www.MyVietnam.net in
015: * the footer of the pages MUST remain visible when the pages
016: * are viewed on the internet or intranet.
017: *
018: * This program is free software; you can redistribute it and/or modify
019: * it under the terms of the GNU General Public License as published by
020: * the Free Software Foundation; either version 2 of the License, or
021: * any later version.
022: *
023: * This program is distributed in the hope that it will be useful,
024: * but WITHOUT ANY WARRANTY; without even the implied warranty of
025: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
026: * GNU General Public License for more details.
027: *
028: * You should have received a copy of the GNU General Public License
029: * along with this program; if not, write to the Free Software
030: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
031: *
032: * Support can be obtained from support forums at:
033: * http://www.mvnForum.com/mvnforum/index
034: *
035: * Correspondence and Marketing Questions can be sent to:
036: * info at MyVietnam net
037: *
038: * @author: Minh Nguyen
039: */
040: package com.mvnforum.db;
041:
042: import java.sql.Timestamp;
043: import java.util.Collection;
044:
045: import net.myvietnam.mvncore.exception.CreateException;
046: import net.myvietnam.mvncore.exception.DatabaseException;
047: import net.myvietnam.mvncore.exception.DuplicateKeyException;
048: import net.myvietnam.mvncore.exception.ObjectNotFoundException;
049: import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException;
050:
051: public interface WatchDAO {
052:
053: public static final String TABLE_NAME = DatabaseConfig.TABLE_PREFIX
054: + "Watch";
055:
056: public void findByPrimaryKey(int watchID)
057: throws ObjectNotFoundException, DatabaseException;
058:
059: public void findByAlternateKey_MemberID_CategoryID_ForumID_ThreadID(
060: int memberID, int categoryID, int forumID, int threadID)
061: throws ObjectNotFoundException, DatabaseException;
062:
063: public void create(int memberID, int categoryID, int forumID,
064: int threadID, int watchType, int watchOption,
065: int watchStatus, Timestamp watchCreationDate,
066: Timestamp watchLastSentDate, Timestamp watchEndDate)
067: throws IllegalArgumentException, CreateException,
068: DatabaseException, DuplicateKeyException,
069: ForeignKeyNotFoundException;
070:
071: public void delete(int watchID) throws DatabaseException,
072: ObjectNotFoundException;
073:
074: public void delete_inMember(int memberID) throws DatabaseException;
075:
076: public void delete_inCategory(int categoryID)
077: throws DatabaseException;
078:
079: public void delete_inForum(int forumID) throws DatabaseException;
080:
081: public void delete_inThread(int threadID) throws DatabaseException;
082:
083: public void updateLastSentDate(int watchID, // primary key
084: Timestamp watchLastSentDate)
085: throws ObjectNotFoundException, DatabaseException;
086:
087: public WatchBean getWatch(int watchID)
088: throws ObjectNotFoundException, DatabaseException;
089:
090: // this method is not used anywhere, should we remove it ???
091: public WatchBean getWatch_byAlternateKey_MemberID_CategoryID_ForumID_ThreadID(
092: int memberID, int categoryID, int forumID, int threadID)
093: throws ObjectNotFoundException, DatabaseException;
094:
095: // this method is not used anywhere, should we remove it ???
096: public Collection getWatches() throws DatabaseException;
097:
098: // this method is not used anywhere, should we remove it ???
099: public int getNumberOfWatches() throws DatabaseException;
100:
101: public int getNumberOfWatches_forMember(int memberID)
102: throws DatabaseException;
103:
104: // must only affect enable threads ???
105: public Collection getMemberBeans() throws DatabaseException;
106:
107: // must only affect enable threads ???
108: public Collection getWatches_forMember(int memberID)
109: throws DatabaseException;
110:
111: // must only affect enable threads ???
112: public void updateLastSentDate_forMember(int memberID,
113: Timestamp watchLastSentDate)
114: throws ObjectNotFoundException, DatabaseException;
115:
116: public void updateWatchType(int watchID, int watchType)
117: throws ObjectNotFoundException, DatabaseException;
118: }
|