1 package fr.ifremer.quadrige3.core.dao.referential;
2
3 /*-
4 * #%L
5 * Quadrige3 Core :: Quadrige3 Client Core
6 * $Id:$
7 * $HeadURL:$
8 * %%
9 * Copyright (C) 2017 Ifremer
10 * %%
11 * This program is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Affero General Public License as published by
13 * the Free Software Foundation, either version 3 of the License, or
14 * (at your option) any later version.
15 *
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
20 *
21 * You should have received a copy of the GNU Affero General Public License
22 * along with this program. If not, see <http://www.gnu.org/licenses/>.
23 * #L%
24 */
25
26 import fr.ifremer.quadrige3.core.vo.referential.AnalysisInstrumentVO;
27 import fr.ifremer.quadrige3.core.vo.referential.SamplingEquipmentVO;
28 import fr.ifremer.quadrige3.core.vo.referential.monitoringLocation.MonitoringLocationVO;
29 import fr.ifremer.quadrige3.core.vo.referential.pmfm.*;
30 import fr.ifremer.quadrige3.core.vo.referential.taxon.TaxonGroupVO;
31 import fr.ifremer.quadrige3.core.vo.referential.taxon.TaxonNameVO;
32
33 import java.util.List;
34
35 /**
36 * Created by blavenie on 31/08/15.
37 */
38 public interface ReferentialJdbcDao {
39
40 /**
41 * <p>
42 * getMonitoringLocationsByIds.
43 * </p>
44 *
45 * @param ids
46 * a {@link java.util.List} object.
47 * @return a {@link java.util.List} object.
48 */
49 List<MonitoringLocationVO> getMonitoringLocationsByIds(List<Integer> ids);
50
51 /**
52 * <p>
53 * getMonitoringLocationById.
54 * </p>
55 *
56 * @param id
57 * a int.
58 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.monitoringLocation.MonitoringLocationVO} object.
59 */
60 MonitoringLocationVO getMonitoringLocationById(int id);
61
62 /**
63 * <p>
64 * getTaxonNamesByReferenceTaxonIds.
65 * </p>
66 *
67 * @param ids
68 * a {@link java.util.List} object.
69 * @return a {@link java.util.List} object.
70 */
71 List<TaxonNameVO> getTaxonNamesByReferenceTaxonIds(List<Integer> ids);
72
73 /**
74 * <p>
75 * getTaxonNameByReferenceTaxonId.
76 * </p>
77 *
78 * @param id
79 * a int.
80 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.taxon.TaxonNameVO} object.
81 */
82 TaxonNameVO getTaxonNameByReferenceTaxonId(int id);
83
84 /**
85 * <p>
86 * getTaxonGroupsByIds.
87 * </p>
88 *
89 * @param ids
90 * a {@link java.util.List} object.
91 * @return a {@link java.util.List} object.
92 */
93 List<TaxonGroupVO> getTaxonGroupsByIds(List<Integer> ids);
94
95 /**
96 * <p>
97 * getTaxonGroupById.
98 * </p>
99 *
100 * @param id
101 * a int.
102 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.taxon.TaxonGroupVO} object.
103 */
104 TaxonGroupVO getTaxonGroupById(int id);
105
106 /**
107 * <p>
108 * getParametersByCodes.
109 * </p>
110 *
111 * @param codes
112 * a {@link java.util.List} object.
113 * @return a {@link java.util.List} object.
114 */
115 List<ParameterVO> getParametersByCodes(List<String> codes);
116
117 /**
118 * <p>
119 * getParameterByCode.
120 * </p>
121 *
122 * @param code
123 * a {@link java.lang.String} object.
124 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.ParameterVO} object.
125 */
126 ParameterVO getParameterByCode(String code);
127
128 /**
129 * <p>
130 * getMatrixesByIds.
131 * </p>
132 *
133 * @param ids
134 * a {@link java.util.List} object.
135 * @return a {@link java.util.List} object.
136 */
137 List<MatrixVO> getMatrixesByIds(List<Integer> ids);
138
139 /**
140 * <p>
141 * getMatrixById.
142 * </p>
143 *
144 * @param id
145 * a int.
146 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.MatrixVO} object.
147 */
148 MatrixVO getMatrixById(int id);
149
150 /**
151 * <p>
152 * getFractionsByIds.
153 * </p>
154 *
155 * @param ids
156 * a {@link java.util.List} object.
157 * @return a {@link java.util.List} object.
158 */
159 List<FractionVO> getFractionsByIds(List<Integer> ids);
160
161 /**
162 * <p>
163 * getFractionById.
164 * </p>
165 *
166 * @param id
167 * a int.
168 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.FractionVO} object.
169 */
170 FractionVO getFractionById(int id);
171
172 /**
173 * <p>
174 * getMethodsByIds.
175 * </p>
176 *
177 * @param ids
178 * a {@link java.util.List} object.
179 * @return a {@link java.util.List} object.
180 */
181 List<MethodVO> getMethodsByIds(List<Integer> ids);
182
183 /**
184 * <p>
185 * getMethodById.
186 * </p>
187 *
188 * @param id
189 * a int.
190 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.MethodVO} object.
191 */
192 MethodVO getMethodById(int id);
193
194 /**
195 * <p>
196 * getPmfmsByIds.
197 * </p>
198 *
199 * @param ids
200 * a {@link java.util.List} object.
201 * @return a {@link java.util.List} object.
202 */
203 List<PmfmVO> getPmfmsByIds(List<Integer> ids);
204
205 /**
206 * <p>
207 * getPmfmById.
208 * </p>
209 *
210 * @param id
211 * a int.
212 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.PmfmVO} object.
213 */
214 PmfmVO getPmfmById(int id);
215
216 /**
217 * <p>
218 * getUnitsByIds.
219 * </p>
220 *
221 * @param ids
222 * a {@link java.util.List} object.
223 * @return a {@link java.util.List} object.
224 */
225 List<UnitVO> getUnitsByIds(List<Integer> ids);
226
227 /**
228 * <p>
229 * getUnitById.
230 * </p>
231 *
232 * @param id
233 * a int.
234 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.UnitVO} object.
235 */
236 UnitVO getUnitById(int id);
237
238 /**
239 * <p>
240 * getAnalysisInstrumentsByIds.
241 * </p>
242 *
243 * @param ids
244 * a {@link java.util.List} object.
245 * @return a {@link java.util.List} object.
246 */
247 List<AnalysisInstrumentVO> getAnalysisInstrumentsByIds(List<Integer> ids);
248
249 /**
250 * <p>
251 * getAnalysisInstrumentById.
252 * </p>
253 *
254 * @param id
255 * a int.
256 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.AnalysisInstrumentVO} object.
257 */
258 AnalysisInstrumentVO getAnalysisInstrumentById(int id);
259
260 /**
261 * <p>
262 * getSamplingEquipmentsByIds.
263 * </p>
264 *
265 * @param ids
266 * a {@link java.util.List} object.
267 * @return a {@link java.util.List} object.
268 */
269 List<SamplingEquipmentVO> getSamplingEquipmentsByIds(List<Integer> ids);
270
271 /**
272 * <p>
273 * getSamplingEquipmentById.
274 * </p>
275 *
276 * @param id
277 * a int.
278 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.SamplingEquipmentVO} object.
279 */
280 SamplingEquipmentVO getSamplingEquipmentById(int id);
281
282 /**
283 * <p>
284 * getQualitativeValueByIds.
285 * </p>
286 *
287 * @param ids
288 * a {@link java.util.List} object.
289 * @return a {@link java.util.List} object.
290 */
291 List<QualitativeValueVO> getQualitativeValueByIds(List<Integer> ids);
292
293 /**
294 * <p>
295 * getQualitativeValueById.
296 * </p>
297 *
298 * @param id
299 * a int.
300 * @return a {@link fr.ifremer.quadrige3.core.vo.referential.pmfm.QualitativeValueVO} object.
301 */
302 QualitativeValueVO getQualitativeValueById(int id);
303
304 /**
305 * <p>
306 * getVOsByTableNameAndPks.
307 * </p>
308 *
309 * @param tableName
310 * a {@link java.lang.String} object.
311 * @param pks
312 * a {@link java.util.List} object.
313 * @return a {@link java.util.List} object.
314 */
315 List<?> getVOsByTableNameAndPks(String tableName, List<String> pks);
316
317 /**
318 * <p>
319 * getVOByTableNameAndPk.
320 * </p>
321 *
322 * @param tableName
323 * a {@link java.lang.String} object.
324 * @param pk
325 * a {@link java.lang.String} object.
326 * @return a {@link java.lang.Object} object.
327 */
328 Object getVOByTableNameAndPk(String tableName, String pk);
329
330 }