KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > jforum > dao > PostDAO


1 /*
2  * Copyright (c) Rafael Steil
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms,
6  * with or without modification, are permitted provided
7  * that the following conditions are met:
8  *
9  * 1) Redistributions of source code must retain the above
10  * copyright notice, this list of conditions and the
11  * following disclaimer.
12  * 2) Redistributions in binary form must reproduce the
13  * above copyright notice, this list of conditions and
14  * the following disclaimer in the documentation and/or
15  * other materials provided with the distribution.
16  * 3) Neither the name of "Rafael Steil" nor
17  * the names of its contributors may be used to endorse
18  * or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
22  * HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
23  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
24  * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
27  * THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE
28  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
29  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
32  * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33  * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
34  * IN CONTRACT, STRICT LIABILITY, OR TORT
35  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
36  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
37  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
38  *
39  * This file creating date: Feb 23, 2003 / 2:49:48 PM
40  * The JForum Project
41  * http://www.jforum.net
42  */

43 package net.jforum.dao;
44
45 import java.util.List JavaDoc;
46
47 import net.jforum.entities.Post;
48
49 /**
50   * Model interface for {@link net.jforum.Post}.
51  * This interface defines methods which are expected to be
52  * implementd by a specific data access driver. The intention is
53  * to provide all functionality needed to update, insert, delete and
54  * select some specific data.
55  *
56  * @author Rafael Steil
57  * @version $Id: PostDAO.java,v 1.7 2005/09/12 21:05:24 rafaelsteil Exp $
58  */

59 public interface PostDAO
60 {
61     /**
62      * Gets a specific <code>Post</code>.
63      *
64      * @param postId The Post ID to search
65      * @return <code>Post</code>object containing all the information
66      * @throws Exception
67      * @see #selectAll
68      */

69     public Post selectById(int postId) throws Exception JavaDoc;
70         
71     /**
72      * Delete a Post.
73      *
74      * @param Post The Post to delete
75      * @throws Exception
76      * @see #canDelete(int)
77      */

78     public void delete(Post post) throws Exception JavaDoc;
79     
80     /**
81      * Updates a Post.
82      *
83      * @param post Reference to a <code>Post</code> object to update
84      * @throws Exception
85      * @see #update(int)
86      */

87     public void update(Post post) throws Exception JavaDoc;
88     
89     /**
90      * Adds a new Post.
91      *
92      * @param Post Reference to a valid and configured <code>Post</code> object
93      * @return The new ID
94      * @throws Exception
95      */

96     public int addNew(Post post) throws Exception JavaDoc;
97     
98     /**
99      * Selects all messages relacted to a specific topic.
100      *
101      * @param topicId The topic ID
102      * @param startFrom The count position to start fetching
103      * @param count The total number of records to retrieve
104      * @return <code>ArrayList</code> containing all records found. Each entry of the <code>ArrayList</code> is a {@link net.jforum.Post} object
105      * @throws Exception
106      */

107     public List JavaDoc selectAllByTopicByLimit(int topicId, int startFrom, int count) throws Exception JavaDoc;
108
109
110        /**
111      * Selects all posts associated to a specific user and belonging to
112      * given forums
113      * @param userId User ID.
114      * @throws Exception
115      */

116     public List JavaDoc selectByUserByLimit(int userId,int startFrom, int count) throws Exception JavaDoc;
117     
118     /**
119      * Selects all messages relacted to a specific topic.
120      *
121      * @param topicId The topic ID
122      * @return <code>ArrayList</code> containing all records found. Each entry of the <code>ArrayList</code> is a {@link net.jforum.Post} object
123      * @throws Exception
124      */

125     public List JavaDoc selectAllByTopic(int topicId) throws Exception JavaDoc;
126     
127     /**
128      * Delete all posts related to the given topic
129      *
130      * @param topicId
131      * @throws Exception
132      */

133     public void deleteByTopic(int topicId) throws Exception JavaDoc;
134
135     /**
136      * Count how many previous posts there are before the given post id
137      * @param postId
138      * @return
139      * @throws Exception
140      */

141     public int countPreviousPosts(int postId) throws Exception JavaDoc;
142 }
143
Popular Tags