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.jobs.service;
19
20 import java.util.List;
21
22 import org.bejug.javacareers.common.search.SearchCriteria;
23 import org.bejug.javacareers.jobs.model.ConsultingServiceOffer;
24 import org.bejug.javacareers.jobs.model.EducationServiceOffer;
25 import org.bejug.javacareers.jobs.model.ServiceOffer;
26
27 /***
28 * Defines the "Business Facade" of the controller.
29 *
30 * @author Bart Meyers (Last modified by $Author: ge0ffrey $)
31 * @version $Revision: 1.1 $ $Date: 2005/08/26 07:58:27 $
32 */
33 public interface ServiceOfferService {
34
35 /***
36 * Adds a serviceoffer.
37 * @param offer A serviceoffer.
38 */
39 void storeServiceOffer(ServiceOffer offer);
40
41 /***
42 * delete a serviceoffer.
43 * @param offer the serviceoffer to delete
44 */
45 void deleteServiceOffer(ServiceOffer offer);
46
47 /***
48 * get a list of educationserviceoffers.
49 * @return a list containing all the educationserviceoffers.
50 */
51 List getEducationServiceOffers();
52
53 /***
54 * get a list of consultingserviceoffers.
55 * @return a list containing all the consultingserviceoffers.
56 */
57 List getConsultingServiceOffers();
58
59 /***
60 * gets an educationserviceoffer by id.
61 * @param id the id of the educationserviceoffer.
62 * @return the wanted educationserviceoffer.
63 */
64 EducationServiceOffer getEducationServiceOffer(Integer id);
65
66 /***
67 * gets a consultingserviceoffer by id.
68 * @param id the id of the consultingserviceoffer.
69 * @return the wanted consultingserviceoffer.
70 */
71 ConsultingServiceOffer getConsultingServiceOffer(Integer id);
72
73
74 /***
75 * gets a EducationServiceOffer by searchCriteria.
76 * @param searchCriteria the searchCriteria
77 * @return the wanted EducationServiceOffer
78 * @throws IllegalArgumentException if an error
79 */
80 List getEducationServiceOffers(SearchCriteria searchCriteria) throws IllegalArgumentException;
81
82 /***
83 * gets a EducationOffer by searchCriteria.
84 * @param searchCriteria the searchCriteria
85 * @return the wanted EducationOffer
86 * @throws IllegalArgumentException if an error
87 */
88 List getConsultingServiceOffers(SearchCriteria searchCriteria) throws IllegalArgumentException;
89
90
91 /***
92 * @return an int indicating the number of EducationServiceOffer
93 * in the system.
94 */
95 int getEducationServiceOffersCount();
96
97 /***
98 * @return an int indicating the number of ConsultingServiceOffers
99 * in the system.
100 */
101 int getConsultingServiceOffersCount();
102 }
103 /***
104 * $Log: ServiceOfferService.java,v $
105 * Revision 1.1 2005/08/26 07:58:27 ge0ffrey
106 * split up the sources in service, serviceimpl and webclient
107 *
108 * Revision 1.6 2005/08/17 09:07:59 schauwvliege
109 * added education en service offer services
110 *
111 * Revision 1.5 2005/08/10 09:04:49 bavo_jcs
112 * Optimized imports according to checkstyle
113 *
114 * Revision 1.4 2005/08/09 12:59:56 bavo_jcs
115 * Optimized imports
116 *
117 * Revision 1.3 2005/06/14 13:40:04 schauwvliege
118 * Renamed add to store
119 *
120 * Revision 1.2 2005/06/09 08:18:52 bejug_cc
121 * Fix initial import
122 *
123 * Revision 1.3 2005/05/12 08:23:55 ssc
124 * Checkstyle errors
125 *
126 * Revision 1.2 2005/05/11 16:31:54 sja
127 * Added CVS last modified tag.
128 *
129 * Revision 1.1 2005/05/02 15:48:27 bme
130 * first release
131 *
132 */