1 // license-header java merge-point
2 //
3 // Attention: Generated code! Do not modify by hand!
4 // Generated by: hibernate/HibernateEntity.vsl in andromda-hibernate-cartridge.
5 //
6 package fr.ifremer.quadrige3.core.dao.data.measurement;
7
8 /*-
9 * #%L
10 * Quadrige3 Core :: Client API
11 * %%
12 * Copyright (C) 2017 - 2024 Ifremer
13 * %%
14 * This program is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Affero General Public License as published by
16 * the Free Software Foundation, either version 3 of the License, or
17 * (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU Affero General Public License
25 * along with this program. If not, see <http://www.gnu.org/licenses/>.
26 * #L%
27 */
28 import fr.ifremer.quadrige3.core.dao.administration.program.Program;
29 import fr.ifremer.quadrige3.core.dao.administration.user.Department;
30 import fr.ifremer.quadrige3.core.dao.data.sample.Sample;
31 import fr.ifremer.quadrige3.core.dao.data.samplingoperation.SamplingOperation;
32 import fr.ifremer.quadrige3.core.dao.data.survey.Survey;
33 import fr.ifremer.quadrige3.core.dao.referential.AnalysisInstrument;
34 import fr.ifremer.quadrige3.core.dao.referential.ObjectType;
35 import fr.ifremer.quadrige3.core.dao.referential.QualityFlag;
36 import fr.ifremer.quadrige3.core.dao.referential.pmfm.Pmfm;
37 import java.io.Serializable;
38 import java.sql.Timestamp;
39 import java.util.Collection;
40 import java.util.Date;
41 import java.util.HashSet;
42
43 /**
44 * Résultat de mesure faisant uniquement référence à un fichier.
45 */
46 // HibernateEntity.vsl annotations merge-point
47 public abstract class MeasurementFile
48 implements Serializable, Comparable<MeasurementFile>
49 {
50 /**
51 * The serial version UID of this class. Needed for serialization.
52 */
53 private static final long serialVersionUID = -6780794383458321997L;
54
55 // Generate 11 attributes
56 private Integer measFileId;
57
58 /**
59 * Identifiant interne du résultat
60 * @return this.measFileId Integer
61 */
62 public Integer getMeasFileId()
63 {
64 return this.measFileId;
65 }
66
67 /**
68 * Identifiant interne du résultat
69 * @param measFileIdIn Integer
70 */
71 public void setMeasFileId(Integer measFileIdIn)
72 {
73 this.measFileId = measFileIdIn;
74 }
75
76 private Integer objectId;
77
78 /**
79 * Identifiant interne de donnnée in situ de référence (passage, prélèvement, prélèvement)
80 * @return this.objectId Integer
81 */
82 public Integer getObjectId()
83 {
84 return this.objectId;
85 }
86
87 /**
88 * Identifiant interne de donnnée in situ de référence (passage, prélèvement, prélèvement)
89 * @param objectIdIn Integer
90 */
91 public void setObjectId(Integer objectIdIn)
92 {
93 this.objectId = objectIdIn;
94 }
95
96 private String measFilePathNm;
97
98 /**
99 * Adresse du fichier de mesure stocké sur le serveur Q2.
100 * @return this.measFilePathNm String
101 */
102 public String getMeasFilePathNm()
103 {
104 return this.measFilePathNm;
105 }
106
107 /**
108 * Adresse du fichier de mesure stocké sur le serveur Q2.
109 * @param measFilePathNmIn String
110 */
111 public void setMeasFilePathNm(String measFilePathNmIn)
112 {
113 this.measFilePathNm = measFilePathNmIn;
114 }
115
116 private String measFileNm;
117
118 /**
119 * Libellé du fichier de mesure
120 * @return this.measFileNm String
121 */
122 public String getMeasFileNm()
123 {
124 return this.measFileNm;
125 }
126
127 /**
128 * Libellé du fichier de mesure
129 * @param measFileNmIn String
130 */
131 public void setMeasFileNm(String measFileNmIn)
132 {
133 this.measFileNm = measFileNmIn;
134 }
135
136 private String measFileCm;
137
138 /**
139 * Commentaire sur le fichier de mesure
140 * @return this.measFileCm String
141 */
142 public String getMeasFileCm()
143 {
144 return this.measFileCm;
145 }
146
147 /**
148 * Commentaire sur le fichier de mesure
149 * @param measFileCmIn String
150 */
151 public void setMeasFileCm(String measFileCmIn)
152 {
153 this.measFileCm = measFileCmIn;
154 }
155
156 private Date measFileValidDt;
157
158 /**
159 * Date de validation
160 * @return this.measFileValidDt Date
161 */
162 public Date getMeasFileValidDt()
163 {
164 return this.measFileValidDt;
165 }
166
167 /**
168 * Date de validation
169 * @param measFileValidDtIn Date
170 */
171 public void setMeasFileValidDt(Date measFileValidDtIn)
172 {
173 this.measFileValidDt = measFileValidDtIn;
174 }
175
176 private Date measFileControlDt;
177
178 /**
179 * Date de contrôle
180 * @return this.measFileControlDt Date
181 */
182 public Date getMeasFileControlDt()
183 {
184 return this.measFileControlDt;
185 }
186
187 /**
188 * Date de contrôle
189 * @param measFileControlDtIn Date
190 */
191 public void setMeasFileControlDt(Date measFileControlDtIn)
192 {
193 this.measFileControlDt = measFileControlDtIn;
194 }
195
196 private Date measFileQualifDt;
197
198 /**
199 * Date de la qualification du résultat
200 * @return this.measFileQualifDt Date
201 */
202 public Date getMeasFileQualifDt()
203 {
204 return this.measFileQualifDt;
205 }
206
207 /**
208 * Date de la qualification du résultat
209 * @param measFileQualifDtIn Date
210 */
211 public void setMeasFileQualifDt(Date measFileQualifDtIn)
212 {
213 this.measFileQualifDt = measFileQualifDtIn;
214 }
215
216 private String measFileQualifCm;
217
218 /**
219 * Commentaire sur la qualification du résultat
220 * Un commentaire de qualification est obligatoire si la mesure est douteuse ou mauvaise.
221 * @return this.measFileQualifCm String
222 */
223 public String getMeasFileQualifCm()
224 {
225 return this.measFileQualifCm;
226 }
227
228 /**
229 * Commentaire sur la qualification du résultat
230 * Un commentaire de qualification est obligatoire si la mesure est douteuse ou mauvaise.
231 * @param measFileQualifCmIn String
232 */
233 public void setMeasFileQualifCm(String measFileQualifCmIn)
234 {
235 this.measFileQualifCm = measFileQualifCmIn;
236 }
237
238 private Timestamp updateDt;
239
240 /**
241 * Date de modification de l'objet, mise à jour par le système
242 * @return this.updateDt Timestamp
243 */
244 public Timestamp getUpdateDt()
245 {
246 return this.updateDt;
247 }
248
249 /**
250 * Date de modification de l'objet, mise à jour par le système
251 * @param updateDtIn Timestamp
252 */
253 public void setUpdateDt(Timestamp updateDtIn)
254 {
255 this.updateDt = updateDtIn;
256 }
257
258 private Integer remoteId;
259
260 /**
261 *
262 * @return this.remoteId Integer
263 */
264 public Integer getRemoteId()
265 {
266 return this.remoteId;
267 }
268
269 /**
270 *
271 * @param remoteIdIn Integer
272 */
273 public void setRemoteId(Integer remoteIdIn)
274 {
275 this.remoteId = remoteIdIn;
276 }
277
278 // Generate 10 associations
279 private Sample sample;
280
281 /**
282 * Liste les échantillons prélevés lors d'un passage sur un lieu de surveillance.
283 * @return this.sample Sample
284 */
285 public Sample getSample()
286 {
287 return this.sample;
288 }
289
290 /**
291 * Liste les échantillons prélevés lors d'un passage sur un lieu de surveillance.
292 * @param sampleIn Sample
293 */
294 public void setSample(Sample sampleIn)
295 {
296 this.sample = sampleIn;
297 }
298
299 private ObjectType objectType;
300
301 /**
302 * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
303 * ne peut
304 * pas être modifiée par l'utilisateur.
305 * @return this.objectType ObjectType
306 */
307 public ObjectType getObjectType()
308 {
309 return this.objectType;
310 }
311
312 /**
313 * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
314 * ne peut
315 * pas être modifiée par l'utilisateur.
316 * @param objectTypeIn ObjectType
317 */
318 public void setObjectType(ObjectType objectTypeIn)
319 {
320 this.objectType = objectTypeIn;
321 }
322
323 private QualityFlag qualityFlag;
324
325 /**
326 * Liste des niveaux de qualification.
327 * @return this.qualityFlag QualityFlag
328 */
329 public QualityFlag getQualityFlag()
330 {
331 return this.qualityFlag;
332 }
333
334 /**
335 * Liste des niveaux de qualification.
336 * @param qualityFlagIn QualityFlag
337 */
338 public void setQualityFlag(QualityFlag qualityFlagIn)
339 {
340 this.qualityFlag = qualityFlagIn;
341 }
342
343 private Department department;
344
345 /**
346 * Liste les départements ou services auxquels sont rattachés les agents
347 * @return this.department Department
348 */
349 public Department getDepartment()
350 {
351 return this.department;
352 }
353
354 /**
355 * Liste les départements ou services auxquels sont rattachés les agents
356 * @param departmentIn Department
357 */
358 public void setDepartment(Department departmentIn)
359 {
360 this.department = departmentIn;
361 }
362
363 private Collection<Program> programs = new HashSet<Program>();
364
365 /**
366 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
367 * @return this.programs Collection<Program>
368 */
369 public Collection<Program> getPrograms()
370 {
371 return this.programs;
372 }
373
374 /**
375 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
376 * @param programsIn Collection<Program>
377 */
378 public void setPrograms(Collection<Program> programsIn)
379 {
380 this.programs = programsIn;
381 }
382
383 /**
384 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
385 * @param elementToAdd Program
386 * @return <tt>true</tt> if this collection changed as a result of the
387 * call
388 */
389 public boolean addPrograms(Program elementToAdd)
390 {
391 return this.programs.add(elementToAdd);
392 }
393
394 /**
395 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
396 * @param elementToRemove Program
397 * @return <tt>true</tt> if this collection changed as a result of the
398 * call
399 */
400 public boolean removePrograms(Program elementToRemove)
401 {
402 return this.programs.remove(elementToRemove);
403 }
404
405 private Pmfm pmfm;
406
407 /**
408 * Liste les quadruplets paramètre, méthode, support, fraction.
409 * @return this.pmfm Pmfm
410 */
411 public Pmfm getPmfm()
412 {
413 return this.pmfm;
414 }
415
416 /**
417 * Liste les quadruplets paramètre, méthode, support, fraction.
418 * @param pmfmIn Pmfm
419 */
420 public void setPmfm(Pmfm pmfmIn)
421 {
422 this.pmfm = pmfmIn;
423 }
424
425 private AnalysisInstrument analysisInstrument;
426
427 /**
428 * Liste les engins d'analyse ou de prélèvement (au sens marque/modèle et non numéro de série).
429 * @return this.analysisInstrument AnalysisInstrument
430 */
431 public AnalysisInstrument getAnalysisInstrument()
432 {
433 return this.analysisInstrument;
434 }
435
436 /**
437 * Liste les engins d'analyse ou de prélèvement (au sens marque/modèle et non numéro de série).
438 * @param analysisInstrumentIn AnalysisInstrument
439 */
440 public void setAnalysisInstrument(AnalysisInstrument analysisInstrumentIn)
441 {
442 this.analysisInstrument = analysisInstrumentIn;
443 }
444
445 private Department recorderDepartment;
446
447 /**
448 * Liste les départements ou services auxquels sont rattachés les agents
449 * @return this.recorderDepartment Department
450 */
451 public Department getRecorderDepartment()
452 {
453 return this.recorderDepartment;
454 }
455
456 /**
457 * Liste les départements ou services auxquels sont rattachés les agents
458 * @param recorderDepartmentIn Department
459 */
460 public void setRecorderDepartment(Department recorderDepartmentIn)
461 {
462 this.recorderDepartment = recorderDepartmentIn;
463 }
464
465 private Survey survey;
466
467 /**
468 * Liste les différents passages effectués sur un lieu de surveillance.
469 * Liste les différents passages effectués sur un lieu de surveillance.
470 * @return this.survey Survey
471 */
472 public Survey getSurvey()
473 {
474 return this.survey;
475 }
476
477 /**
478 * Liste les différents passages effectués sur un lieu de surveillance.
479 * Liste les différents passages effectués sur un lieu de surveillance.
480 * @param surveyIn Survey
481 */
482 public void setSurvey(Survey surveyIn)
483 {
484 this.survey = surveyIn;
485 }
486
487 private SamplingOperation samplingOperation;
488
489 /**
490 * Liste les prélévements effectués lors d'un passage.
491 * @return this.samplingOperation SamplingOperation
492 */
493 public SamplingOperation getSamplingOperation()
494 {
495 return this.samplingOperation;
496 }
497
498 /**
499 * Liste les prélévements effectués lors d'un passage.
500 * @param samplingOperationIn SamplingOperation
501 */
502 public void setSamplingOperation(SamplingOperation samplingOperationIn)
503 {
504 this.samplingOperation = samplingOperationIn;
505 }
506
507 /**
508 * Returns <code>true</code> if the argument is an MeasurementFile instance and all identifiers for this entity
509 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
510 */
511 @Override
512 public boolean equals(Object object)
513 {
514 if (this == object)
515 {
516 return true;
517 }
518 if (!(object instanceof MeasurementFile))
519 {
520 return false;
521 }
522 final MeasurementFile that = (MeasurementFile)object;
523 if (this.measFileId == null || that.getMeasFileId() == null || !this.measFileId.equals(that.getMeasFileId()))
524 {
525 return false;
526 }
527 return true;
528 }
529
530 /**
531 * Returns a hash code based on this entity's identifiers.
532 */
533 @Override
534 public int hashCode()
535 {
536 int hashCode = 0;
537 hashCode = 29 * hashCode + (this.measFileId == null ? 0 : this.measFileId.hashCode());
538
539 return hashCode;
540 }
541
542 /**
543 * Constructs new instances of {@link MeasurementFile}.
544 */
545 public static final class Factory
546 {
547 /**
548 * Constructs a new instance of {@link MeasurementFile}.
549 * @return new MeasurementFileImpl()
550 */
551 public static MeasurementFile newInstance()
552 {
553 return new MeasurementFileImpl();
554 }
555
556 /**
557 * Constructs a new instance of {@link MeasurementFile}, taking all required and/or
558 * read-only properties as arguments, except for identifiers.
559 * @param objectId Integer
560 * @param measFilePathNm String
561 * @param objectType ObjectType
562 * @param qualityFlag QualityFlag
563 * @param pmfm Pmfm
564 * @return newInstance
565 */
566 public static MeasurementFile newInstance(Integer objectId, String measFilePathNm, ObjectType objectType, QualityFlag qualityFlag, Pmfm pmfm)
567 {
568 final MeasurementFile entity = new MeasurementFileImpl();
569 entity.setObjectId(objectId);
570 entity.setMeasFilePathNm(measFilePathNm);
571 entity.setObjectType(objectType);
572 entity.setQualityFlag(qualityFlag);
573 entity.setPmfm(pmfm);
574 return entity;
575 }
576
577 /**
578 * Constructs a new instance of {@link MeasurementFile}, taking all possible properties
579 * (except the identifier(s))as arguments.
580 * @param objectId Integer
581 * @param measFilePathNm String
582 * @param measFileNm String
583 * @param measFileCm String
584 * @param measFileValidDt Date
585 * @param measFileControlDt Date
586 * @param measFileQualifDt Date
587 * @param measFileQualifCm String
588 * @param updateDt Timestamp
589 * @param remoteId Integer
590 * @param sample Sample
591 * @param objectType ObjectType
592 * @param qualityFlag QualityFlag
593 * @param department Department
594 * @param programs Collection<Program>
595 * @param pmfm Pmfm
596 * @param analysisInstrument AnalysisInstrument
597 * @param recorderDepartment Department
598 * @param survey Survey
599 * @param samplingOperation SamplingOperation
600 * @return newInstance MeasurementFile
601 */
602 public static MeasurementFile newInstance(Integer objectId, String measFilePathNm, String measFileNm, String measFileCm, Date measFileValidDt, Date measFileControlDt, Date measFileQualifDt, String measFileQualifCm, Timestamp updateDt, Integer remoteId, Sample sample, ObjectType objectType, QualityFlag qualityFlag, Department department, Collection<Program> programs, Pmfm pmfm, AnalysisInstrument analysisInstrument, Department recorderDepartment, Survey survey, SamplingOperation samplingOperation)
603 {
604 final MeasurementFile entity = new MeasurementFileImpl();
605 entity.setObjectId(objectId);
606 entity.setMeasFilePathNm(measFilePathNm);
607 entity.setMeasFileNm(measFileNm);
608 entity.setMeasFileCm(measFileCm);
609 entity.setMeasFileValidDt(measFileValidDt);
610 entity.setMeasFileControlDt(measFileControlDt);
611 entity.setMeasFileQualifDt(measFileQualifDt);
612 entity.setMeasFileQualifCm(measFileQualifCm);
613 entity.setUpdateDt(updateDt);
614 entity.setRemoteId(remoteId);
615 entity.setSample(sample);
616 entity.setObjectType(objectType);
617 entity.setQualityFlag(qualityFlag);
618 entity.setDepartment(department);
619 entity.setPrograms(programs);
620 entity.setPmfm(pmfm);
621 entity.setAnalysisInstrument(analysisInstrument);
622 entity.setRecorderDepartment(recorderDepartment);
623 entity.setSurvey(survey);
624 entity.setSamplingOperation(samplingOperation);
625 return entity;
626 }
627 }
628
629 /**
630 * @see Comparable#compareTo
631 */
632 public int compareTo(MeasurementFile o)
633 {
634 int cmp = 0;
635 if (this.getMeasFileId() != null)
636 {
637 cmp = this.getMeasFileId().compareTo(o.getMeasFileId());
638 }
639 else
640 {
641 if (this.getObjectId() != null)
642 {
643 cmp = (cmp != 0 ? cmp : this.getObjectId().compareTo(o.getObjectId()));
644 }
645 if (this.getMeasFilePathNm() != null)
646 {
647 cmp = (cmp != 0 ? cmp : this.getMeasFilePathNm().compareTo(o.getMeasFilePathNm()));
648 }
649 if (this.getMeasFileNm() != null)
650 {
651 cmp = (cmp != 0 ? cmp : this.getMeasFileNm().compareTo(o.getMeasFileNm()));
652 }
653 if (this.getMeasFileCm() != null)
654 {
655 cmp = (cmp != 0 ? cmp : this.getMeasFileCm().compareTo(o.getMeasFileCm()));
656 }
657 if (this.getMeasFileValidDt() != null)
658 {
659 cmp = (cmp != 0 ? cmp : this.getMeasFileValidDt().compareTo(o.getMeasFileValidDt()));
660 }
661 if (this.getMeasFileControlDt() != null)
662 {
663 cmp = (cmp != 0 ? cmp : this.getMeasFileControlDt().compareTo(o.getMeasFileControlDt()));
664 }
665 if (this.getMeasFileQualifDt() != null)
666 {
667 cmp = (cmp != 0 ? cmp : this.getMeasFileQualifDt().compareTo(o.getMeasFileQualifDt()));
668 }
669 if (this.getMeasFileQualifCm() != null)
670 {
671 cmp = (cmp != 0 ? cmp : this.getMeasFileQualifCm().compareTo(o.getMeasFileQualifCm()));
672 }
673 if (this.getUpdateDt() != null)
674 {
675 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
676 }
677 if (this.getRemoteId() != null)
678 {
679 cmp = (cmp != 0 ? cmp : this.getRemoteId().compareTo(o.getRemoteId()));
680 }
681 }
682 return cmp;
683 }
684 // HibernateEntity.vsl merge-point
685 // MeasurementFile.java merge-point
686 }