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.quadrige2.core.dao.data.measurement;
7
8 /*-
9 * #%L
10 * Quadrige2 Core :: Server API
11 * %%
12 * Copyright (C) 2017 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
29 import fr.ifremer.quadrige2.core.dao.administration.program.Program;
30 import fr.ifremer.quadrige2.core.dao.administration.user.Department;
31 import fr.ifremer.quadrige2.core.dao.data.sample.Sample;
32 import fr.ifremer.quadrige2.core.dao.data.samplingoperation.SamplingOperation;
33 import fr.ifremer.quadrige2.core.dao.data.survey.Survey;
34 import fr.ifremer.quadrige2.core.dao.referential.AnalysisInstrument;
35 import fr.ifremer.quadrige2.core.dao.referential.NumericalPrecision;
36 import fr.ifremer.quadrige2.core.dao.referential.ObjectType;
37 import fr.ifremer.quadrige2.core.dao.referential.PrecisionType;
38 import fr.ifremer.quadrige2.core.dao.referential.QualityFlag;
39 import fr.ifremer.quadrige2.core.dao.referential.pmfm.Pmfm;
40 import fr.ifremer.quadrige2.core.dao.referential.pmfm.QualitativeValue;
41 import fr.ifremer.quadrige2.core.dao.referential.taxon.ReferenceTaxon;
42 import fr.ifremer.quadrige2.core.dao.referential.taxon.TaxonGroup;
43 import java.io.Serializable;
44 import java.sql.Timestamp;
45 import java.util.Collection;
46 import java.util.Date;
47 import java.util.HashSet;
48
49 /**
50 * Résultat de mesure faisant l'objet d'une mesure unique pour un taxon, ou un regroupement de taxon
51 * particulier.
52 */
53 // HibernateEntity.vsl annotations merge-point
54 public abstract class TaxonMeasurement
55 implements Serializable, Comparable<TaxonMeasurement>
56 {
57 /**
58 * The serial version UID of this class. Needed for serialization.
59 */
60 private static final long serialVersionUID = 7923956248027897093L;
61
62 // Generate 18 attributes
63 private Integer taxonMeasId;
64
65 /**
66 * Identifiant interne du résultat
67 * @return this.taxonMeasId Integer
68 */
69 public Integer getTaxonMeasId()
70 {
71 return this.taxonMeasId;
72 }
73
74 /**
75 * Identifiant interne du résultat
76 * @param taxonMeasIdIn Integer
77 */
78 public void setTaxonMeasId(Integer taxonMeasIdIn)
79 {
80 this.taxonMeasId = taxonMeasIdIn;
81 }
82
83 private Integer objectId;
84
85 /**
86 * Identifiant interne de donnnée in situ de référence (passage, prélèvement, prélèvement)
87 * @return this.objectId Integer
88 */
89 public Integer getObjectId()
90 {
91 return this.objectId;
92 }
93
94 /**
95 * Identifiant interne de donnnée in situ de référence (passage, prélèvement, prélèvement)
96 * @param objectIdIn Integer
97 */
98 public void setObjectId(Integer objectIdIn)
99 {
100 this.objectId = objectIdIn;
101 }
102
103 private Integer taxonMeasIndivId;
104
105 /**
106 * Le numéro de l'individu mesuré pour les résultats sur taxon ayant plusieurs individus
107 * @return this.taxonMeasIndivId Integer
108 */
109 public Integer getTaxonMeasIndivId()
110 {
111 return this.taxonMeasIndivId;
112 }
113
114 /**
115 * Le numéro de l'individu mesuré pour les résultats sur taxon ayant plusieurs individus
116 * @param taxonMeasIndivIdIn Integer
117 */
118 public void setTaxonMeasIndivId(Integer taxonMeasIndivIdIn)
119 {
120 this.taxonMeasIndivId = taxonMeasIndivIdIn;
121 }
122
123 private Float taxonMeasNumerValue;
124
125 /**
126 * La valeur du résultat si elle n'est pas qualitative
127 * @return this.taxonMeasNumerValue Float
128 */
129 public Float getTaxonMeasNumerValue()
130 {
131 return this.taxonMeasNumerValue;
132 }
133
134 /**
135 * La valeur du résultat si elle n'est pas qualitative
136 * @param taxonMeasNumerValueIn Float
137 */
138 public void setTaxonMeasNumerValue(Float taxonMeasNumerValueIn)
139 {
140 this.taxonMeasNumerValue = taxonMeasNumerValueIn;
141 }
142
143 private Float taxonMeasPrecisionValue;
144
145 /**
146 * La valeur de l'incertitude. Ex : 2 (%) ou 0,01 (dégrés)
147 * @return this.taxonMeasPrecisionValue Float
148 */
149 public Float getTaxonMeasPrecisionValue()
150 {
151 return this.taxonMeasPrecisionValue;
152 }
153
154 /**
155 * La valeur de l'incertitude. Ex : 2 (%) ou 0,01 (dégrés)
156 * @param taxonMeasPrecisionValueIn Float
157 */
158 public void setTaxonMeasPrecisionValue(Float taxonMeasPrecisionValueIn)
159 {
160 this.taxonMeasPrecisionValue = taxonMeasPrecisionValueIn;
161 }
162
163 private Double taxonMeasDigitNumber;
164
165 /**
166 * Nombre de chiffre après la virgule du résulat. Ex : si on saisit 10.00, il faut conserver 2
167 * comme information
168 * @return this.taxonMeasDigitNumber Double
169 */
170 public Double getTaxonMeasDigitNumber()
171 {
172 return this.taxonMeasDigitNumber;
173 }
174
175 /**
176 * Nombre de chiffre après la virgule du résulat. Ex : si on saisit 10.00, il faut conserver 2
177 * comme information
178 * @param taxonMeasDigitNumberIn Double
179 */
180 public void setTaxonMeasDigitNumber(Double taxonMeasDigitNumberIn)
181 {
182 this.taxonMeasDigitNumber = taxonMeasDigitNumberIn;
183 }
184
185 private Date taxonMeasControlDt;
186
187 /**
188 * Date de contrôle
189 * @return this.taxonMeasControlDt Date
190 */
191 public Date getTaxonMeasControlDt()
192 {
193 return this.taxonMeasControlDt;
194 }
195
196 /**
197 * Date de contrôle
198 * @param taxonMeasControlDtIn Date
199 */
200 public void setTaxonMeasControlDt(Date taxonMeasControlDtIn)
201 {
202 this.taxonMeasControlDt = taxonMeasControlDtIn;
203 }
204
205 private Date taxonMeasValidDt;
206
207 /**
208 * Date de validation
209 * @return this.taxonMeasValidDt Date
210 */
211 public Date getTaxonMeasValidDt()
212 {
213 return this.taxonMeasValidDt;
214 }
215
216 /**
217 * Date de validation
218 * @param taxonMeasValidDtIn Date
219 */
220 public void setTaxonMeasValidDt(Date taxonMeasValidDtIn)
221 {
222 this.taxonMeasValidDt = taxonMeasValidDtIn;
223 }
224
225 private Date taxonMeasQualifDt;
226
227 /**
228 * Date de la qualification du résultat
229 * @return this.taxonMeasQualifDt Date
230 */
231 public Date getTaxonMeasQualifDt()
232 {
233 return this.taxonMeasQualifDt;
234 }
235
236 /**
237 * Date de la qualification du résultat
238 * @param taxonMeasQualifDtIn Date
239 */
240 public void setTaxonMeasQualifDt(Date taxonMeasQualifDtIn)
241 {
242 this.taxonMeasQualifDt = taxonMeasQualifDtIn;
243 }
244
245 private String taxonMeasQualifCm;
246
247 /**
248 * Commentaire sur la qualification du résultat
249 * Un commentaire de qualification est obligatoire si la mesure est douteuse ou mauvaise.
250 * @return this.taxonMeasQualifCm String
251 */
252 public String getTaxonMeasQualifCm()
253 {
254 return this.taxonMeasQualifCm;
255 }
256
257 /**
258 * Commentaire sur la qualification du résultat
259 * Un commentaire de qualification est obligatoire si la mesure est douteuse ou mauvaise.
260 * @param taxonMeasQualifCmIn String
261 */
262 public void setTaxonMeasQualifCm(String taxonMeasQualifCmIn)
263 {
264 this.taxonMeasQualifCm = taxonMeasQualifCmIn;
265 }
266
267 private String taxonMeasCm;
268
269 /**
270 * Commentaire sur le résultat sur taxon
271 * @return this.taxonMeasCm String
272 */
273 public String getTaxonMeasCm()
274 {
275 return this.taxonMeasCm;
276 }
277
278 /**
279 * Commentaire sur le résultat sur taxon
280 * @param taxonMeasCmIn String
281 */
282 public void setTaxonMeasCm(String taxonMeasCmIn)
283 {
284 this.taxonMeasCm = taxonMeasCmIn;
285 }
286
287 private Timestamp updateDt;
288
289 /**
290 * Date de modification de l'objet, mise à jour par le système
291 * @return this.updateDt Timestamp
292 */
293 public Timestamp getUpdateDt()
294 {
295 return this.updateDt;
296 }
297
298 /**
299 * Date de modification de l'objet, mise à jour par le système
300 * @param updateDtIn Timestamp
301 */
302 public void setUpdateDt(Timestamp updateDtIn)
303 {
304 this.updateDt = updateDtIn;
305 }
306
307 private String parCd;
308
309 /**
310 * @deprecated (filled by synchro)
311 * @return this.parCd String
312 */
313 public String getParCd()
314 {
315 return this.parCd;
316 }
317
318 /**
319 * @deprecated (filled by synchro)
320 * @param parCdIn String
321 */
322 public void setParCd(String parCdIn)
323 {
324 this.parCd = parCdIn;
325 }
326
327 private Integer matrixId;
328
329 /**
330 * @deprecated (filled by synchro)
331 * @return this.matrixId Integer
332 */
333 public Integer getMatrixId()
334 {
335 return this.matrixId;
336 }
337
338 /**
339 * @deprecated (filled by synchro)
340 * @param matrixIdIn Integer
341 */
342 public void setMatrixId(Integer matrixIdIn)
343 {
344 this.matrixId = matrixIdIn;
345 }
346
347 private Integer fractionId;
348
349 /**
350 * @deprecated (filled by synchro)
351 * @return this.fractionId Integer
352 */
353 public Integer getFractionId()
354 {
355 return this.fractionId;
356 }
357
358 /**
359 * @deprecated (filled by synchro)
360 * @param fractionIdIn Integer
361 */
362 public void setFractionId(Integer fractionIdIn)
363 {
364 this.fractionId = fractionIdIn;
365 }
366
367 private Integer methodId;
368
369 /**
370 * @deprecated (filled by synchro)
371 * @return this.methodId Integer
372 */
373 public Integer getMethodId()
374 {
375 return this.methodId;
376 }
377
378 /**
379 * @deprecated (filled by synchro)
380 * @param methodIdIn Integer
381 */
382 public void setMethodId(Integer methodIdIn)
383 {
384 this.methodId = methodIdIn;
385 }
386
387 private Integer taxonNameId;
388
389 /**
390 * Identifiant interne du taxon cité (Utilisé par BD Recif pour stocker l'identifiant du taxon
391 * saisi par l'utilisateur)
392 * @return this.taxonNameId Integer
393 */
394 public Integer getTaxonNameId()
395 {
396 return this.taxonNameId;
397 }
398
399 /**
400 * Identifiant interne du taxon cité (Utilisé par BD Recif pour stocker l'identifiant du taxon
401 * saisi par l'utilisateur)
402 * @param taxonNameIdIn Integer
403 */
404 public void setTaxonNameId(Integer taxonNameIdIn)
405 {
406 this.taxonNameId = taxonNameIdIn;
407 }
408
409 private String taxonNameNm;
410
411 /**
412 * Nom scientifique du taxon cité (Utilisé par BD Recif pour stocker le libellé du taxon saisi
413 * par l'utilisateur)
414 * @return this.taxonNameNm String
415 */
416 public String getTaxonNameNm()
417 {
418 return this.taxonNameNm;
419 }
420
421 /**
422 * Nom scientifique du taxon cité (Utilisé par BD Recif pour stocker le libellé du taxon saisi
423 * par l'utilisateur)
424 * @param taxonNameNmIn String
425 */
426 public void setTaxonNameNm(String taxonNameNmIn)
427 {
428 this.taxonNameNm = taxonNameNmIn;
429 }
430
431 // Generate 15 associations
432 private Sample sample;
433
434 /**
435 * Liste les échantillons prélevés lors d'un passage sur un lieu de surveillance.
436 * @return this.sample Sample
437 */
438 public Sample getSample()
439 {
440 return this.sample;
441 }
442
443 /**
444 * Liste les échantillons prélevés lors d'un passage sur un lieu de surveillance.
445 * @param sampleIn Sample
446 */
447 public void setSample(Sample sampleIn)
448 {
449 this.sample = sampleIn;
450 }
451
452 private TaxonGroup taxonGroup;
453
454 /**
455 * Liste l'ensemble de taxons ayant les mêmes caractéristiques pour le critère pris en compte.
456 * @return this.taxonGroup TaxonGroup
457 */
458 public TaxonGroup getTaxonGroup()
459 {
460 return this.taxonGroup;
461 }
462
463 /**
464 * Liste l'ensemble de taxons ayant les mêmes caractéristiques pour le critère pris en compte.
465 * @param taxonGroupIn TaxonGroup
466 */
467 public void setTaxonGroup(TaxonGroup taxonGroupIn)
468 {
469 this.taxonGroup = taxonGroupIn;
470 }
471
472 private Pmfm pmfm;
473
474 /**
475 * Liste les quadruplets paramètre, méthode, support, fraction.
476 * @return this.pmfm Pmfm
477 */
478 public Pmfm getPmfm()
479 {
480 return this.pmfm;
481 }
482
483 /**
484 * Liste les quadruplets paramètre, méthode, support, fraction.
485 * @param pmfmIn Pmfm
486 */
487 public void setPmfm(Pmfm pmfmIn)
488 {
489 this.pmfm = pmfmIn;
490 }
491
492 private ReferenceTaxon referenceTaxon;
493
494 /**
495 * Liste des taxons qui sont la référence.
496 * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment
497 * et ne
498 * plus l'être par la suite.
499 * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont
500 * référents à un moment mais ne peuvent plus l'être par la suite.
501 * Le fonctionnement dans la table TAXON_NAME est le suivant :
502 * - REF_TAXON_ID est toujours renseigné
503 * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il
504 * s'agit d'un
505 * taxon virtuel)
506 * - sinon c'est un synonyme
507 * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le
508 * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID
509 * NB : c'était le comportement initialement prévu.
510 * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2,
511 * le taxon
512 * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes
513 * et les
514 * résultats qu'il pouvait avoir).
515 * Ce mécanisme a été adopté car il fallait distinguer 2 cas :
516 * 1- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qu'on crée T2 : on aurait
517 * alors
518 * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres
519 * synonymes, résultats...
520 * 2- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qui existe déjà T2-R2 (et
521 * qui
522 * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1
523 * pour
524 * R2 est nécessaire
525 * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on
526 * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les
527 * référents
528 * @return this.referenceTaxon ReferenceTaxon
529 */
530 public ReferenceTaxon getReferenceTaxon()
531 {
532 return this.referenceTaxon;
533 }
534
535 /**
536 * Liste des taxons qui sont la référence.
537 * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment
538 * et ne
539 * plus l'être par la suite.
540 * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont
541 * référents à un moment mais ne peuvent plus l'être par la suite.
542 * Le fonctionnement dans la table TAXON_NAME est le suivant :
543 * - REF_TAXON_ID est toujours renseigné
544 * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il
545 * s'agit d'un
546 * taxon virtuel)
547 * - sinon c'est un synonyme
548 * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le
549 * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID
550 * NB : c'était le comportement initialement prévu.
551 * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2,
552 * le taxon
553 * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes
554 * et les
555 * résultats qu'il pouvait avoir).
556 * Ce mécanisme a été adopté car il fallait distinguer 2 cas :
557 * 1- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qu'on crée T2 : on aurait
558 * alors
559 * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres
560 * synonymes, résultats...
561 * 2- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qui existe déjà T2-R2 (et
562 * qui
563 * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1
564 * pour
565 * R2 est nécessaire
566 * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on
567 * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les
568 * référents
569 * @param referenceTaxonIn ReferenceTaxon
570 */
571 public void setReferenceTaxon(ReferenceTaxon referenceTaxonIn)
572 {
573 this.referenceTaxon = referenceTaxonIn;
574 }
575
576 private Department recorderDepartment;
577
578 /**
579 * Liste les départements ou services auxquels sont rattachés les agents
580 * @return this.recorderDepartment Department
581 */
582 public Department getRecorderDepartment()
583 {
584 return this.recorderDepartment;
585 }
586
587 /**
588 * Liste les départements ou services auxquels sont rattachés les agents
589 * @param recorderDepartmentIn Department
590 */
591 public void setRecorderDepartment(Department recorderDepartmentIn)
592 {
593 this.recorderDepartment = recorderDepartmentIn;
594 }
595
596 private QualityFlag qualityFlag;
597
598 /**
599 * Liste des niveaux de qualification.
600 * @return this.qualityFlag QualityFlag
601 */
602 public QualityFlag getQualityFlag()
603 {
604 return this.qualityFlag;
605 }
606
607 /**
608 * Liste des niveaux de qualification.
609 * @param qualityFlagIn QualityFlag
610 */
611 public void setQualityFlag(QualityFlag qualityFlagIn)
612 {
613 this.qualityFlag = qualityFlagIn;
614 }
615
616 private Collection<Program> programs = new HashSet<Program>();
617
618 /**
619 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
620 * @return this.programs Collection<Program>
621 */
622 public Collection<Program> getPrograms()
623 {
624 return this.programs;
625 }
626
627 /**
628 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
629 * @param programsIn Collection<Program>
630 */
631 public void setPrograms(Collection<Program> programsIn)
632 {
633 this.programs = programsIn;
634 }
635
636 /**
637 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
638 * @param elementToAdd Program
639 * @return <tt>true</tt> if this collection changed as a result of the
640 * call
641 */
642 public boolean addPrograms(Program elementToAdd)
643 {
644 return this.programs.add(elementToAdd);
645 }
646
647 /**
648 * Activités à l'origine de la collecte d'un ensemble cohérent de données.
649 * @param elementToRemove Program
650 * @return <tt>true</tt> if this collection changed as a result of the
651 * call
652 */
653 public boolean removePrograms(Program elementToRemove)
654 {
655 return this.programs.remove(elementToRemove);
656 }
657
658 private NumericalPrecision numericalPrecision;
659
660 /**
661 * Liste des précisions numériques.
662 * @return this.numericalPrecision NumericalPrecision
663 */
664 public NumericalPrecision getNumericalPrecision()
665 {
666 return this.numericalPrecision;
667 }
668
669 /**
670 * Liste des précisions numériques.
671 * @param numericalPrecisionIn NumericalPrecision
672 */
673 public void setNumericalPrecision(NumericalPrecision numericalPrecisionIn)
674 {
675 this.numericalPrecision = numericalPrecisionIn;
676 }
677
678 private PrecisionType precisionType;
679
680 /**
681 * type d'incertitude des mesures d'un paramètre dans une stratégie.
682 * @return this.precisionType PrecisionType
683 */
684 public PrecisionType getPrecisionType()
685 {
686 return this.precisionType;
687 }
688
689 /**
690 * type d'incertitude des mesures d'un paramètre dans une stratégie.
691 * @param precisionTypeIn PrecisionType
692 */
693 public void setPrecisionType(PrecisionType precisionTypeIn)
694 {
695 this.precisionType = precisionTypeIn;
696 }
697
698 private Department department;
699
700 /**
701 * Liste les départements ou services auxquels sont rattachés les agents
702 * @return this.department Department
703 */
704 public Department getDepartment()
705 {
706 return this.department;
707 }
708
709 /**
710 * Liste les départements ou services auxquels sont rattachés les agents
711 * @param departmentIn Department
712 */
713 public void setDepartment(Department departmentIn)
714 {
715 this.department = departmentIn;
716 }
717
718 private ObjectType objectType;
719
720 /**
721 * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
722 * ne peut
723 * pas être modifiée par l'utilisateur.
724 * @return this.objectType ObjectType
725 */
726 public ObjectType getObjectType()
727 {
728 return this.objectType;
729 }
730
731 /**
732 * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
733 * ne peut
734 * pas être modifiée par l'utilisateur.
735 * @param objectTypeIn ObjectType
736 */
737 public void setObjectType(ObjectType objectTypeIn)
738 {
739 this.objectType = objectTypeIn;
740 }
741
742 private AnalysisInstrument analysisInstrument;
743
744 /**
745 * Liste les engins d'analyse ou de prélèvement (au sens marque/modèle et non numéro de série).
746 * @return this.analysisInstrument AnalysisInstrument
747 */
748 public AnalysisInstrument getAnalysisInstrument()
749 {
750 return this.analysisInstrument;
751 }
752
753 /**
754 * Liste les engins d'analyse ou de prélèvement (au sens marque/modèle et non numéro de série).
755 * @param analysisInstrumentIn AnalysisInstrument
756 */
757 public void setAnalysisInstrument(AnalysisInstrument analysisInstrumentIn)
758 {
759 this.analysisInstrument = analysisInstrumentIn;
760 }
761
762 private QualitativeValue qualitativeValue;
763
764 /**
765 * Liste des valeurs qualitatives associées aux paramètres.
766 * @return this.qualitativeValue QualitativeValue
767 */
768 public QualitativeValue getQualitativeValue()
769 {
770 return this.qualitativeValue;
771 }
772
773 /**
774 * Liste des valeurs qualitatives associées aux paramètres.
775 * @param qualitativeValueIn QualitativeValue
776 */
777 public void setQualitativeValue(QualitativeValue qualitativeValueIn)
778 {
779 this.qualitativeValue = qualitativeValueIn;
780 }
781
782 private Survey survey;
783
784 /**
785 * Liste les différents passages effectués sur un lieu de surveillance.
786 * Liste les différents passages effectués sur un lieu de surveillance.
787 * @return this.survey Survey
788 */
789 public Survey getSurvey()
790 {
791 return this.survey;
792 }
793
794 /**
795 * Liste les différents passages effectués sur un lieu de surveillance.
796 * Liste les différents passages effectués sur un lieu de surveillance.
797 * @param surveyIn Survey
798 */
799 public void setSurvey(Survey surveyIn)
800 {
801 this.survey = surveyIn;
802 }
803
804 private SamplingOperation samplingOperation;
805
806 /**
807 * Liste les prélévements effectués lors d'un passage.
808 * @return this.samplingOperation SamplingOperation
809 */
810 public SamplingOperation getSamplingOperation()
811 {
812 return this.samplingOperation;
813 }
814
815 /**
816 * Liste les prélévements effectués lors d'un passage.
817 * @param samplingOperationIn SamplingOperation
818 */
819 public void setSamplingOperation(SamplingOperation samplingOperationIn)
820 {
821 this.samplingOperation = samplingOperationIn;
822 }
823
824 /**
825 * Returns <code>true</code> if the argument is an TaxonMeasurement instance and all identifiers for this entity
826 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
827 */
828 @Override
829 public boolean equals(Object object)
830 {
831 if (this == object)
832 {
833 return true;
834 }
835 if (!(object instanceof TaxonMeasurement))
836 {
837 return false;
838 }
839 final TaxonMeasurement that = (TaxonMeasurement)object;
840 if (this.taxonMeasId == null || that.getTaxonMeasId() == null || !this.taxonMeasId.equals(that.getTaxonMeasId()))
841 {
842 return false;
843 }
844 return true;
845 }
846
847 /**
848 * Returns a hash code based on this entity's identifiers.
849 */
850 @Override
851 public int hashCode()
852 {
853 int hashCode = 0;
854 hashCode = 29 * hashCode + (this.taxonMeasId == null ? 0 : this.taxonMeasId.hashCode());
855
856 return hashCode;
857 }
858
859 /**
860 * Constructs new instances of {@link TaxonMeasurement}.
861 */
862 public static final class Factory
863 {
864 /**
865 * Constructs a new instance of {@link TaxonMeasurement}.
866 * @return new TaxonMeasurementImpl()
867 */
868 public static TaxonMeasurement newInstance()
869 {
870 return new TaxonMeasurementImpl();
871 }
872
873 /**
874 * Constructs a new instance of {@link TaxonMeasurement}, taking all required and/or
875 * read-only properties as arguments, except for identifiers.
876 * @param objectId Integer
877 * @param updateDt Timestamp
878 * @param pmfm Pmfm
879 * @param qualityFlag QualityFlag
880 * @param objectType ObjectType
881 * @return newInstance
882 */
883 public static TaxonMeasurement newInstance(Integer objectId, Timestamp updateDt, Pmfm pmfm, QualityFlag qualityFlag, ObjectType objectType)
884 {
885 final TaxonMeasurement entity = new TaxonMeasurementImpl();
886 entity.setObjectId(objectId);
887 entity.setUpdateDt(updateDt);
888 entity.setPmfm(pmfm);
889 entity.setQualityFlag(qualityFlag);
890 entity.setObjectType(objectType);
891 return entity;
892 }
893
894 /**
895 * Constructs a new instance of {@link TaxonMeasurement}, taking all possible properties
896 * (except the identifier(s))as arguments.
897 * @param objectId Integer
898 * @param taxonMeasIndivId Integer
899 * @param taxonMeasNumerValue Float
900 * @param taxonMeasPrecisionValue Float
901 * @param taxonMeasDigitNumber Double
902 * @param taxonMeasControlDt Date
903 * @param taxonMeasValidDt Date
904 * @param taxonMeasQualifDt Date
905 * @param taxonMeasQualifCm String
906 * @param taxonMeasCm String
907 * @param updateDt Timestamp
908 * @param parCd String
909 * @param matrixId Integer
910 * @param fractionId Integer
911 * @param methodId Integer
912 * @param taxonNameId Integer
913 * @param taxonNameNm String
914 * @param sample Sample
915 * @param taxonGroup TaxonGroup
916 * @param pmfm Pmfm
917 * @param referenceTaxon ReferenceTaxon
918 * @param recorderDepartment Department
919 * @param qualityFlag QualityFlag
920 * @param programs Collection<Program>
921 * @param numericalPrecision NumericalPrecision
922 * @param precisionType PrecisionType
923 * @param department Department
924 * @param objectType ObjectType
925 * @param analysisInstrument AnalysisInstrument
926 * @param qualitativeValue QualitativeValue
927 * @param survey Survey
928 * @param samplingOperation SamplingOperation
929 * @return newInstance TaxonMeasurement
930 */
931 public static TaxonMeasurement newInstance(Integer objectId, Integer taxonMeasIndivId, Float taxonMeasNumerValue, Float taxonMeasPrecisionValue, Double taxonMeasDigitNumber, Date taxonMeasControlDt, Date taxonMeasValidDt, Date taxonMeasQualifDt, String taxonMeasQualifCm, String taxonMeasCm, Timestamp updateDt, String parCd, Integer matrixId, Integer fractionId, Integer methodId, Integer taxonNameId, String taxonNameNm, Sample sample, TaxonGroup taxonGroup, Pmfm pmfm, ReferenceTaxon referenceTaxon, Department recorderDepartment, QualityFlag qualityFlag, Collection<Program> programs, NumericalPrecision numericalPrecision, PrecisionType precisionType, Department department, ObjectType objectType, AnalysisInstrument analysisInstrument, QualitativeValue qualitativeValue, Survey survey, SamplingOperation samplingOperation)
932 {
933 final TaxonMeasurement entity = new TaxonMeasurementImpl();
934 entity.setObjectId(objectId);
935 entity.setTaxonMeasIndivId(taxonMeasIndivId);
936 entity.setTaxonMeasNumerValue(taxonMeasNumerValue);
937 entity.setTaxonMeasPrecisionValue(taxonMeasPrecisionValue);
938 entity.setTaxonMeasDigitNumber(taxonMeasDigitNumber);
939 entity.setTaxonMeasControlDt(taxonMeasControlDt);
940 entity.setTaxonMeasValidDt(taxonMeasValidDt);
941 entity.setTaxonMeasQualifDt(taxonMeasQualifDt);
942 entity.setTaxonMeasQualifCm(taxonMeasQualifCm);
943 entity.setTaxonMeasCm(taxonMeasCm);
944 entity.setUpdateDt(updateDt);
945 entity.setParCd(parCd);
946 entity.setMatrixId(matrixId);
947 entity.setFractionId(fractionId);
948 entity.setMethodId(methodId);
949 entity.setTaxonNameId(taxonNameId);
950 entity.setTaxonNameNm(taxonNameNm);
951 entity.setSample(sample);
952 entity.setTaxonGroup(taxonGroup);
953 entity.setPmfm(pmfm);
954 entity.setReferenceTaxon(referenceTaxon);
955 entity.setRecorderDepartment(recorderDepartment);
956 entity.setQualityFlag(qualityFlag);
957 entity.setPrograms(programs);
958 entity.setNumericalPrecision(numericalPrecision);
959 entity.setPrecisionType(precisionType);
960 entity.setDepartment(department);
961 entity.setObjectType(objectType);
962 entity.setAnalysisInstrument(analysisInstrument);
963 entity.setQualitativeValue(qualitativeValue);
964 entity.setSurvey(survey);
965 entity.setSamplingOperation(samplingOperation);
966 return entity;
967 }
968 }
969
970 /**
971 * @see Comparable#compareTo
972 */
973 public int compareTo(TaxonMeasurement o)
974 {
975 int cmp = 0;
976 if (this.getTaxonMeasId() != null)
977 {
978 cmp = this.getTaxonMeasId().compareTo(o.getTaxonMeasId());
979 }
980 else
981 {
982 if (this.getObjectId() != null)
983 {
984 cmp = (cmp != 0 ? cmp : this.getObjectId().compareTo(o.getObjectId()));
985 }
986 if (this.getTaxonMeasIndivId() != null)
987 {
988 cmp = (cmp != 0 ? cmp : this.getTaxonMeasIndivId().compareTo(o.getTaxonMeasIndivId()));
989 }
990 if (this.getTaxonMeasNumerValue() != null)
991 {
992 cmp = (cmp != 0 ? cmp : this.getTaxonMeasNumerValue().compareTo(o.getTaxonMeasNumerValue()));
993 }
994 if (this.getTaxonMeasPrecisionValue() != null)
995 {
996 cmp = (cmp != 0 ? cmp : this.getTaxonMeasPrecisionValue().compareTo(o.getTaxonMeasPrecisionValue()));
997 }
998 if (this.getTaxonMeasDigitNumber() != null)
999 {
1000 cmp = (cmp != 0 ? cmp : this.getTaxonMeasDigitNumber().compareTo(o.getTaxonMeasDigitNumber()));
1001 }
1002 if (this.getTaxonMeasControlDt() != null)
1003 {
1004 cmp = (cmp != 0 ? cmp : this.getTaxonMeasControlDt().compareTo(o.getTaxonMeasControlDt()));
1005 }
1006 if (this.getTaxonMeasValidDt() != null)
1007 {
1008 cmp = (cmp != 0 ? cmp : this.getTaxonMeasValidDt().compareTo(o.getTaxonMeasValidDt()));
1009 }
1010 if (this.getTaxonMeasQualifDt() != null)
1011 {
1012 cmp = (cmp != 0 ? cmp : this.getTaxonMeasQualifDt().compareTo(o.getTaxonMeasQualifDt()));
1013 }
1014 if (this.getTaxonMeasQualifCm() != null)
1015 {
1016 cmp = (cmp != 0 ? cmp : this.getTaxonMeasQualifCm().compareTo(o.getTaxonMeasQualifCm()));
1017 }
1018 if (this.getTaxonMeasCm() != null)
1019 {
1020 cmp = (cmp != 0 ? cmp : this.getTaxonMeasCm().compareTo(o.getTaxonMeasCm()));
1021 }
1022 if (this.getUpdateDt() != null)
1023 {
1024 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
1025 }
1026 if (this.getParCd() != null)
1027 {
1028 cmp = (cmp != 0 ? cmp : this.getParCd().compareTo(o.getParCd()));
1029 }
1030 if (this.getMatrixId() != null)
1031 {
1032 cmp = (cmp != 0 ? cmp : this.getMatrixId().compareTo(o.getMatrixId()));
1033 }
1034 if (this.getFractionId() != null)
1035 {
1036 cmp = (cmp != 0 ? cmp : this.getFractionId().compareTo(o.getFractionId()));
1037 }
1038 if (this.getMethodId() != null)
1039 {
1040 cmp = (cmp != 0 ? cmp : this.getMethodId().compareTo(o.getMethodId()));
1041 }
1042 if (this.getTaxonNameId() != null)
1043 {
1044 cmp = (cmp != 0 ? cmp : this.getTaxonNameId().compareTo(o.getTaxonNameId()));
1045 }
1046 if (this.getTaxonNameNm() != null)
1047 {
1048 cmp = (cmp != 0 ? cmp : this.getTaxonNameNm().compareTo(o.getTaxonNameNm()));
1049 }
1050 }
1051 return cmp;
1052 }
1053 // HibernateEntity.vsl merge-point
1054 // TaxonMeasurement.java merge-point
1055 }