1 /***
2 Copyright (C) 2005 The Java Community
3
4 This program is free software; you can redistribute it and/or modify it under
5 the terms of the GNU General Public License as published by the Free Software
6 Foundation; either version 2 of the License, or (at your option) any later
7 version.
8
9 This program is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12
13 You should have received a copy of the GNU General Public License along with
14 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
15 Place, Suite 330, Boston, MA 02111-1307 USA.
16
17 */
18 package org.bejug.javacareers.feeder.dao;
19
20 import org.bejug.javacareers.feeder.model.RssFeed;
21 import org.springframework.dao.DataAccessException;
22
23 import java.util.List;
24
25 /***
26 * Interface for persistent RSSFeed backup
27 *
28 * @author Stephan (last modified by $Author: stephan_janssen $)
29 * @version $Revision: 1.3 $ - $Date: 2005/10/11 08:28:47 $
30 */
31 public interface RssFeedDao {
32
33 /***
34 * Adds and updates an RSS feed entry.
35 *
36 * @param feed RSSfeed object to save
37 * @throws DataAccessException Error adding persistent data
38 */
39 void storeRssFeed(RssFeed feed) throws DataAccessException;
40
41 /***
42 * Gets all RSS Feeds.
43 *
44 * @return List of all RSSFeeds
45 * @throws DataAccessException Error getting persistent data
46 */
47 List getRssFeeds() throws DataAccessException;
48
49 /***
50 * Convenience method to delete RSS feed by matching all properties
51 * @param feed The feed to delete
52 */
53 void deleteRssFeed(RssFeed feed);
54
55 /***
56 * Method to delete RSS feed by matching url.
57 * @param url The feed url to delete
58 */
59 void deleteRssFeedByUrl(String url);
60
61 /***
62 * Gets a RssFeed by id.
63 * @param id the id of the RssFeed
64 * @return the wanted RssFeed
65 */
66 RssFeed getRssFeed(Integer id);
67
68 /***
69 * Delete RSS feeds by URL
70 * @param id ID of feed to delete
71 */
72 void deleteRssFeed(Integer id);
73 }
74
75 /***
76 * $Log: RssFeedDao.java,v $
77 * Revision 1.3 2005/10/11 08:28:47 stephan_janssen
78 * Added copyright.
79 *
80 * Revision 1.2 2005/09/13 08:11:17 schauwvliege
81 * organize imports
82 *
83 * Revision 1.1 2005/08/26 07:58:29 ge0ffrey
84 * split up the sources in service, serviceimpl and webclient
85 *
86 * Revision 1.4 2005/08/10 09:04:47 bavo_jcs
87 * Optimized imports according to checkstyle
88 *
89 * Revision 1.3 2005/06/17 13:09:38 schauwvliege
90 * Renamed add to store
91 *
92 * Revision 1.2 2005/06/09 08:18:42 bejug_cc
93 * Fix initial import
94 *
95 * Revision 1.5 2005/06/05 09:03:32 sja
96 * Added javadoc.
97 *
98 * Revision 1.4 2005/06/01 15:07:11 bbr
99 * RssFeed page
100 *
101 * Revision 1.3 2005/06/01 12:36:54 bbr
102 * RssFeedService
103 *
104 * Revision 1.2 2005/05/24 11:52:39 bbr
105 * Using spring sheduling
106 *
107 * Revision 1.1 2005/05/23 17:04:57 sja
108 * Moved to org.bejug.javacareers.feeder package.
109 *
110 * Revision 1.2 2005/05/23 15:33:12 bbr
111 * added weight to lucene
112 *
113 * Revision 1.1 2005/05/23 08:46:33 PSONG09
114 * added feeder source files to project
115 *
116 * Revision 1.5 2005/05/23 07:13:01 stephan_janssen
117 * Code cleanup.
118 *
119 * Revision 1.4 2005/05/19 16:02:02 stephan_janssen
120 * Corrected.
121 *
122 * Revision 1.2 2005/05/12 13:01:08 stephan_janssen
123 * Added GET_RSSFEED_QUERY.
124 *
125 * Revision 1.1 2005/05/11 11:53:25 bavo_jcs
126 * refactored
127 * - conform to conventions
128 * - some javadoc
129 * - Added FeederTask design
130 *
131 * Revision 1.3 2005/05/10 11:32:48 bavo_jcs
132 * integrated with services from JavaCareers Web
133 *
134 * Revision 1.2 2005/05/02 15:37:37 bavo_jcs
135 * Added Javadocs
136 *
137 * Revision 1.1.1.1 2005/04/26 14:13:49 stephan_janssen
138 * Initial import
139 *
140 * Revision 1.1.1.1 2005/04/26 12:58:27 sja
141 * Initial Release
142 *
143 * Revision 1.1.1.1 2005/04/26 12:51:23 sja
144 * Initial Release
145 *
146 */