View Javadoc
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.survey;
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.administration.user.Quser;
31  import fr.ifremer.quadrige3.core.dao.data.event.Event;
32  import fr.ifremer.quadrige3.core.dao.data.samplingoperation.SamplingOperation;
33  import fr.ifremer.quadrige3.core.dao.referential.DredgingTargetArea;
34  import fr.ifremer.quadrige3.core.dao.referential.QualityFlag;
35  import fr.ifremer.quadrige3.core.dao.referential.Unit;
36  import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.MonitoringLocation;
37  import fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.PositionningSystem;
38  import fr.ifremer.quadrige3.core.dao.system.SurveyArea;
39  import fr.ifremer.quadrige3.core.dao.system.SurveyLine;
40  import fr.ifremer.quadrige3.core.dao.system.SurveyPoint;
41  import java.io.Serializable;
42  import java.sql.Timestamp;
43  import java.util.Collection;
44  import java.util.Date;
45  import java.util.HashSet;
46  
47  /**
48   * Liste les différents passages effectués sur un lieu de surveillance.
49   * Liste les différents passages effectués sur un lieu de surveillance.
50   */
51  // HibernateEntity.vsl annotations merge-point
52  public abstract class Survey
53      implements Serializable, Comparable<Survey>
54  {
55      /**
56       * The serial version UID of this class. Needed for serialization.
57       */
58      private static final long serialVersionUID = -914063244937660291L;
59  
60      // Generate 21 attributes
61      private Integer surveyId;
62  
63      /**
64       * Identifiant interne du passage
65       * @return this.surveyId Integer
66       */
67      public Integer getSurveyId()
68      {
69          return this.surveyId;
70      }
71  
72      /**
73       * Identifiant interne du passage
74       * @param surveyIdIn Integer
75       */
76      public void setSurveyId(Integer surveyIdIn)
77      {
78          this.surveyId = surveyIdIn;
79      }
80  
81      private Date surveyDt;
82  
83      /**
84       * Date du passage
85       * Cette date ne comprend pas les heures, minutes, secondes du passage qui sont renseignés
86       * séparément.
87       * @return this.surveyDt Date
88       */
89      public Date getSurveyDt()
90      {
91          return this.surveyDt;
92      }
93  
94      /**
95       * Date du passage
96       * Cette date ne comprend pas les heures, minutes, secondes du passage qui sont renseignés
97       * séparément.
98       * @param surveyDtIn Date
99       */
100     public void setSurveyDt(Date surveyDtIn)
101     {
102         this.surveyDt = surveyDtIn;
103     }
104 
105     private Integer surveyTime;
106 
107     /**
108      * Heure du passage.
109      * Cette heure est indépendante de la date, car elle n'est pas obligatoire et il faut être
110      * capable de séparer un passage à minuit et une heure non renseignée.
111      * L'heure renseignée par l'utilisateur est l'heure locale, ie UT+1 ou UT+2
112      * @return this.surveyTime Integer
113      */
114     public Integer getSurveyTime()
115     {
116         return this.surveyTime;
117     }
118 
119     /**
120      * Heure du passage.
121      * Cette heure est indépendante de la date, car elle n'est pas obligatoire et il faut être
122      * capable de séparer un passage à minuit et une heure non renseignée.
123      * L'heure renseignée par l'utilisateur est l'heure locale, ie UT+1 ou UT+2
124      * @param surveyTimeIn Integer
125      */
126     public void setSurveyTime(Integer surveyTimeIn)
127     {
128         this.surveyTime = surveyTimeIn;
129     }
130 
131     private Integer surveyNumberIndiv;
132 
133     /**
134      * Nombre d¿¿individus sur le passage
135      * @return this.surveyNumberIndiv Integer
136      */
137     public Integer getSurveyNumberIndiv()
138     {
139         return this.surveyNumberIndiv;
140     }
141 
142     /**
143      * Nombre d¿¿individus sur le passage
144      * @param surveyNumberIndivIn Integer
145      */
146     public void setSurveyNumberIndiv(Integer surveyNumberIndivIn)
147     {
148         this.surveyNumberIndiv = surveyNumberIndivIn;
149     }
150 
151     private Float surveyBottomDepth;
152 
153     /**
154      * Valeur de la sonde à l'endroit du passage.
155      * Cette valeur n'a de sens que lorsque le passage est de type ponctuel.
156      * Elle n'est pas obligatoire, car il il y a des passages à terre (rebent intertidal)
157      * @return this.surveyBottomDepth Float
158      */
159     public Float getSurveyBottomDepth()
160     {
161         return this.surveyBottomDepth;
162     }
163 
164     /**
165      * Valeur de la sonde à l'endroit du passage.
166      * Cette valeur n'a de sens que lorsque le passage est de type ponctuel.
167      * Elle n'est pas obligatoire, car il il y a des passages à terre (rebent intertidal)
168      * @param surveyBottomDepthIn Float
169      */
170     public void setSurveyBottomDepth(Float surveyBottomDepthIn)
171     {
172         this.surveyBottomDepth = surveyBottomDepthIn;
173     }
174 
175     private String surveyLb;
176 
177     /**
178      * Chaine de caractères contenant une suite de mots clefs connus de l'utilisateur et servant à
179      * identifier le passage (lors d'une sélection par exemple?)
180      * @return this.surveyLb String
181      */
182     public String getSurveyLb()
183     {
184         return this.surveyLb;
185     }
186 
187     /**
188      * Chaine de caractères contenant une suite de mots clefs connus de l'utilisateur et servant à
189      * identifier le passage (lors d'une sélection par exemple?)
190      * @param surveyLbIn String
191      */
192     public void setSurveyLb(String surveyLbIn)
193     {
194         this.surveyLb = surveyLbIn;
195     }
196 
197     private String surveyCm;
198 
199     /**
200      * Commentaire sur le passage. (les commentaires en général ne servent pas à décrire mais à
201      * donner des informations diverses et variées, et surtout accessoires, pas capitales).
202      * @return this.surveyCm String
203      */
204     public String getSurveyCm()
205     {
206         return this.surveyCm;
207     }
208 
209     /**
210      * Commentaire sur le passage. (les commentaires en général ne servent pas à décrire mais à
211      * donner des informations diverses et variées, et surtout accessoires, pas capitales).
212      * @param surveyCmIn String
213      */
214     public void setSurveyCm(String surveyCmIn)
215     {
216         this.surveyCm = surveyCmIn;
217     }
218 
219     private Double surveyUtFormat;
220 
221     /**
222      * Format UT de l'heure pour le passage [-12;12]
223      * @return this.surveyUtFormat Double
224      */
225     public Double getSurveyUtFormat()
226     {
227         return this.surveyUtFormat;
228     }
229 
230     /**
231      * Format UT de l'heure pour le passage [-12;12]
232      * @param surveyUtFormatIn Double
233      */
234     public void setSurveyUtFormat(Double surveyUtFormatIn)
235     {
236         this.surveyUtFormat = surveyUtFormatIn;
237     }
238 
239     private Date surveyControlDt;
240 
241     /**
242      * Date des contrôles les caractéristiques du passage
243      * Cette date ainsi que celle de qualification, et validation ne sont pas renseignées par
244      * l'utilisateur, mais par les fonctions associées.
245      * @return this.surveyControlDt Date
246      */
247     public Date getSurveyControlDt()
248     {
249         return this.surveyControlDt;
250     }
251 
252     /**
253      * Date des contrôles les caractéristiques du passage
254      * Cette date ainsi que celle de qualification, et validation ne sont pas renseignées par
255      * l'utilisateur, mais par les fonctions associées.
256      * @param surveyControlDtIn Date
257      */
258     public void setSurveyControlDt(Date surveyControlDtIn)
259     {
260         this.surveyControlDt = surveyControlDtIn;
261     }
262 
263     private Date surveyValidDt;
264 
265     /**
266      * Date de validation de la données
267      * @return this.surveyValidDt Date
268      */
269     public Date getSurveyValidDt()
270     {
271         return this.surveyValidDt;
272     }
273 
274     /**
275      * Date de validation de la données
276      * @param surveyValidDtIn Date
277      */
278     public void setSurveyValidDt(Date surveyValidDtIn)
279     {
280         this.surveyValidDt = surveyValidDtIn;
281     }
282 
283     private String surveyValidCm;
284 
285     /**
286      * 
287      * @return this.surveyValidCm String
288      */
289     public String getSurveyValidCm()
290     {
291         return this.surveyValidCm;
292     }
293 
294     /**
295      * 
296      * @param surveyValidCmIn String
297      */
298     public void setSurveyValidCm(String surveyValidCmIn)
299     {
300         this.surveyValidCm = surveyValidCmIn;
301     }
302 
303     private Date surveyQualifDt;
304 
305     /**
306      * Date de qualification de la données
307      * @return this.surveyQualifDt Date
308      */
309     public Date getSurveyQualifDt()
310     {
311         return this.surveyQualifDt;
312     }
313 
314     /**
315      * Date de qualification de la données
316      * @param surveyQualifDtIn Date
317      */
318     public void setSurveyQualifDt(Date surveyQualifDtIn)
319     {
320         this.surveyQualifDt = surveyQualifDtIn;
321     }
322 
323     private String surveyQualifCm;
324 
325     /**
326      * Commentaires sur la qualification du passage. Ces commentaires sont obligatoires si le niveau
327      * de qualification est douteux ou faux. On peut par exemple noter dans le commentaire que
328      * l¿engin d¿analyse utilisé était déficient.
329      * @return this.surveyQualifCm String
330      */
331     public String getSurveyQualifCm()
332     {
333         return this.surveyQualifCm;
334     }
335 
336     /**
337      * Commentaires sur la qualification du passage. Ces commentaires sont obligatoires si le niveau
338      * de qualification est douteux ou faux. On peut par exemple noter dans le commentaire que
339      * l¿engin d¿analyse utilisé était déficient.
340      * @param surveyQualifCmIn String
341      */
342     public void setSurveyQualifCm(String surveyQualifCmIn)
343     {
344         this.surveyQualifCm = surveyQualifCmIn;
345     }
346 
347     private String surveyActualPosition;
348 
349     /**
350      * Vrai si la géométrie est définie par l'utilisateur, faux si elle est héritée du lieu.
351      * Cette information est renseignée par le système et permet par la suite une thématique
352      * d'affichage.
353      * @return this.surveyActualPosition String
354      */
355     public String getSurveyActualPosition()
356     {
357         return this.surveyActualPosition;
358     }
359 
360     /**
361      * Vrai si la géométrie est définie par l'utilisateur, faux si elle est héritée du lieu.
362      * Cette information est renseignée par le système et permet par la suite une thématique
363      * d'affichage.
364      * @param surveyActualPositionIn String
365      */
366     public void setSurveyActualPosition(String surveyActualPositionIn)
367     {
368         this.surveyActualPosition = surveyActualPositionIn;
369     }
370 
371     private String surveyPositionCm;
372 
373     /**
374      * Commentaire associé à la localisation
375      * @return this.surveyPositionCm String
376      */
377     public String getSurveyPositionCm()
378     {
379         return this.surveyPositionCm;
380     }
381 
382     /**
383      * Commentaire associé à la localisation
384      * @param surveyPositionCmIn String
385      */
386     public void setSurveyPositionCm(String surveyPositionCmIn)
387     {
388         this.surveyPositionCm = surveyPositionCmIn;
389     }
390 
391     private Date surveyGeometryValidDt;
392 
393     /**
394      * Date de validation de la géométrie de l'objet
395      * @return this.surveyGeometryValidDt Date
396      */
397     public Date getSurveyGeometryValidDt()
398     {
399         return this.surveyGeometryValidDt;
400     }
401 
402     /**
403      * Date de validation de la géométrie de l'objet
404      * @param surveyGeometryValidDtIn Date
405      */
406     public void setSurveyGeometryValidDt(Date surveyGeometryValidDtIn)
407     {
408         this.surveyGeometryValidDt = surveyGeometryValidDtIn;
409     }
410 
411     private String surveyScope;
412 
413     /**
414      * Vrai si l'étape de qualification est globale, faux si des éléments fils ou résultats n'ont
415      * pas la même étape
416      * @return this.surveyScope String
417      */
418     public String getSurveyScope()
419     {
420         return this.surveyScope;
421     }
422 
423     /**
424      * Vrai si l'étape de qualification est globale, faux si des éléments fils ou résultats n'ont
425      * pas la même étape
426      * @param surveyScopeIn String
427      */
428     public void setSurveyScope(String surveyScopeIn)
429     {
430         this.surveyScope = surveyScopeIn;
431     }
432 
433     private String surveyHasMeas;
434 
435     /**
436      * Vrai si l'élément a des résultats de mesure, dénombrement ou fichier
437      * @return this.surveyHasMeas String
438      */
439     public String getSurveyHasMeas()
440     {
441         return this.surveyHasMeas;
442     }
443 
444     /**
445      * Vrai si l'élément a des résultats de mesure, dénombrement ou fichier
446      * @param surveyHasMeasIn String
447      */
448     public void setSurveyHasMeas(String surveyHasMeasIn)
449     {
450         this.surveyHasMeas = surveyHasMeasIn;
451     }
452 
453     private Timestamp updateDt;
454 
455     /**
456      * Date de modification de l'objet, mise à jour par le système
457      * @return this.updateDt Timestamp
458      */
459     public Timestamp getUpdateDt()
460     {
461         return this.updateDt;
462     }
463 
464     /**
465      * Date de modification de l'objet, mise à jour par le système
466      * @param updateDtIn Timestamp
467      */
468     public void setUpdateDt(Timestamp updateDtIn)
469     {
470         this.updateDt = updateDtIn;
471     }
472 
473     private String synchronizationStatus;
474 
475     /**
476      * 
477      * @return this.synchronizationStatus String
478      */
479     public String getSynchronizationStatus()
480     {
481         return this.synchronizationStatus;
482     }
483 
484     /**
485      * 
486      * @param synchronizationStatusIn String
487      */
488     public void setSynchronizationStatus(String synchronizationStatusIn)
489     {
490         this.synchronizationStatus = synchronizationStatusIn;
491     }
492 
493     private Integer remoteId;
494 
495     /**
496      * 
497      * @return this.remoteId Integer
498      */
499     public Integer getRemoteId()
500     {
501         return this.remoteId;
502     }
503 
504     /**
505      * 
506      * @param remoteIdIn Integer
507      */
508     public void setRemoteId(Integer remoteIdIn)
509     {
510         this.remoteId = remoteIdIn;
511     }
512 
513     // Generate 23 associations
514     private Collection<Quser> qusers = new HashSet<Quser>();
515 
516     /**
517      * Liste l'ensemble des agents et utilisateurs du système.
518      * @return this.qusers Collection<Quser>
519      */
520     public Collection<Quser> getQusers()
521     {
522         return this.qusers;
523     }
524 
525     /**
526      * Liste l'ensemble des agents et utilisateurs du système.
527      * @param qusersIn Collection<Quser>
528      */
529     public void setQusers(Collection<Quser> qusersIn)
530     {
531         this.qusers = qusersIn;
532     }
533 
534     /**
535      * Liste l'ensemble des agents et utilisateurs du système.
536      * @param elementToAdd Quser
537      * @return <tt>true</tt> if this collection changed as a result of the
538      *         call
539      */
540     public boolean addQusers(Quser elementToAdd)
541     {
542         return this.qusers.add(elementToAdd);
543     }
544 
545     /**
546      * Liste l'ensemble des agents et utilisateurs du système.
547      * @param elementToRemove Quser
548      * @return <tt>true</tt> if this collection changed as a result of the
549      *         call
550      */
551     public boolean removeQusers(Quser elementToRemove)
552     {
553         return this.qusers.remove(elementToRemove);
554     }
555 
556     private Collection<FieldObservation> fieldObservations = new HashSet<FieldObservation>();
557 
558     /**
559      * Liste des observations terrain
560      * @return this.fieldObservations Collection<FieldObservation>
561      */
562     public Collection<FieldObservation> getFieldObservations()
563     {
564         return this.fieldObservations;
565     }
566 
567     /**
568      * Liste des observations terrain
569      * @param fieldObservationsIn Collection<FieldObservation>
570      */
571     public void setFieldObservations(Collection<FieldObservation> fieldObservationsIn)
572     {
573         this.fieldObservations = fieldObservationsIn;
574     }
575 
576     /**
577      * Liste des observations terrain
578      * @param elementToAdd FieldObservation
579      * @return <tt>true</tt> if this collection changed as a result of the
580      *         call
581      */
582     public boolean addFieldObservations(FieldObservation elementToAdd)
583     {
584         return this.fieldObservations.add(elementToAdd);
585     }
586 
587     /**
588      * Liste des observations terrain
589      * @param elementToRemove FieldObservation
590      * @return <tt>true</tt> if this collection changed as a result of the
591      *         call
592      */
593     public boolean removeFieldObservations(FieldObservation elementToRemove)
594     {
595         return this.fieldObservations.remove(elementToRemove);
596     }
597 
598     private Unit bottomDepthUnit;
599 
600     /**
601      * Liste l'ensemble des unités de mesure.
602      * @return this.bottomDepthUnit Unit
603      */
604     public Unit getBottomDepthUnit()
605     {
606         return this.bottomDepthUnit;
607     }
608 
609     /**
610      * Liste l'ensemble des unités de mesure.
611      * @param bottomDepthUnitIn Unit
612      */
613     public void setBottomDepthUnit(Unit bottomDepthUnitIn)
614     {
615         this.bottomDepthUnit = bottomDepthUnitIn;
616     }
617 
618     private MonitoringLocation monitoringLocation;
619 
620     /**
621      * Liste les lieux associés aux programmes de surveillance.
622      * @return this.monitoringLocation MonitoringLocation
623      */
624     public MonitoringLocation getMonitoringLocation()
625     {
626         return this.monitoringLocation;
627     }
628 
629     /**
630      * Liste les lieux associés aux programmes de surveillance.
631      * @param monitoringLocationIn MonitoringLocation
632      */
633     public void setMonitoringLocation(MonitoringLocation monitoringLocationIn)
634     {
635         this.monitoringLocation = monitoringLocationIn;
636     }
637 
638     private PositionningSystem positionningSystem;
639 
640     /**
641      * Informations complémentaires sur le positionnement d'un objet.
642      * @return this.positionningSystem PositionningSystem
643      */
644     public PositionningSystem getPositionningSystem()
645     {
646         return this.positionningSystem;
647     }
648 
649     /**
650      * Informations complémentaires sur le positionnement d'un objet.
651      * @param positionningSystemIn PositionningSystem
652      */
653     public void setPositionningSystem(PositionningSystem positionningSystemIn)
654     {
655         this.positionningSystem = positionningSystemIn;
656     }
657 
658     private Collection<Program> programs = new HashSet<Program>();
659 
660     /**
661      * Activités à l'origine de la collecte d'un ensemble cohérent de données.
662      * @return this.programs Collection<Program>
663      */
664     public Collection<Program> getPrograms()
665     {
666         return this.programs;
667     }
668 
669     /**
670      * Activités à l'origine de la collecte d'un ensemble cohérent de données.
671      * @param programsIn Collection<Program>
672      */
673     public void setPrograms(Collection<Program> programsIn)
674     {
675         this.programs = programsIn;
676     }
677 
678     /**
679      * Activités à l'origine de la collecte d'un ensemble cohérent de données.
680      * @param elementToAdd Program
681      * @return <tt>true</tt> if this collection changed as a result of the
682      *         call
683      */
684     public boolean addPrograms(Program elementToAdd)
685     {
686         return this.programs.add(elementToAdd);
687     }
688 
689     /**
690      * Activités à l'origine de la collecte d'un ensemble cohérent de données.
691      * @param elementToRemove Program
692      * @return <tt>true</tt> if this collection changed as a result of the
693      *         call
694      */
695     public boolean removePrograms(Program elementToRemove)
696     {
697         return this.programs.remove(elementToRemove);
698     }
699 
700     private Collection<MeasuredProfile> measuredProfiles = new HashSet<MeasuredProfile>();
701 
702     /**
703      * Profil mesuré envoyé à Coriolis
704      * La référence des profils est QUADRIGE-DDMMYYYY-XXXX
705      * Elle est générée à partir de l'identifiant, de la date de création et d'une chaine en dur.
706      * @return this.measuredProfiles Collection<MeasuredProfile>
707      */
708     public Collection<MeasuredProfile> getMeasuredProfiles()
709     {
710         return this.measuredProfiles;
711     }
712 
713     /**
714      * Profil mesuré envoyé à Coriolis
715      * La référence des profils est QUADRIGE-DDMMYYYY-XXXX
716      * Elle est générée à partir de l'identifiant, de la date de création et d'une chaine en dur.
717      * @param measuredProfilesIn Collection<MeasuredProfile>
718      */
719     public void setMeasuredProfiles(Collection<MeasuredProfile> measuredProfilesIn)
720     {
721         this.measuredProfiles = measuredProfilesIn;
722     }
723 
724     /**
725      * Profil mesuré envoyé à Coriolis
726      * La référence des profils est QUADRIGE-DDMMYYYY-XXXX
727      * Elle est générée à partir de l'identifiant, de la date de création et d'une chaine en dur.
728      * @param elementToAdd MeasuredProfile
729      * @return <tt>true</tt> if this collection changed as a result of the
730      *         call
731      */
732     public boolean addMeasuredProfiles(MeasuredProfile elementToAdd)
733     {
734         return this.measuredProfiles.add(elementToAdd);
735     }
736 
737     /**
738      * Profil mesuré envoyé à Coriolis
739      * La référence des profils est QUADRIGE-DDMMYYYY-XXXX
740      * Elle est générée à partir de l'identifiant, de la date de création et d'une chaine en dur.
741      * @param elementToRemove MeasuredProfile
742      * @return <tt>true</tt> if this collection changed as a result of the
743      *         call
744      */
745     public boolean removeMeasuredProfiles(MeasuredProfile elementToRemove)
746     {
747         return this.measuredProfiles.remove(elementToRemove);
748     }
749 
750     private Collection<SamplingOperation> samplingOperations = new HashSet<SamplingOperation>();
751 
752     /**
753      * Liste les prélévements effectués lors d'un passage.
754      * @return this.samplingOperations Collection<SamplingOperation>
755      */
756     public Collection<SamplingOperation> getSamplingOperations()
757     {
758         return this.samplingOperations;
759     }
760 
761     /**
762      * Liste les prélévements effectués lors d'un passage.
763      * @param samplingOperationsIn Collection<SamplingOperation>
764      */
765     public void setSamplingOperations(Collection<SamplingOperation> samplingOperationsIn)
766     {
767         this.samplingOperations = samplingOperationsIn;
768     }
769 
770     /**
771      * Liste les prélévements effectués lors d'un passage.
772      * @param elementToAdd SamplingOperation
773      * @return <tt>true</tt> if this collection changed as a result of the
774      *         call
775      */
776     public boolean addSamplingOperations(SamplingOperation elementToAdd)
777     {
778         return this.samplingOperations.add(elementToAdd);
779     }
780 
781     /**
782      * Liste les prélévements effectués lors d'un passage.
783      * @param elementToRemove SamplingOperation
784      * @return <tt>true</tt> if this collection changed as a result of the
785      *         call
786      */
787     public boolean removeSamplingOperations(SamplingOperation elementToRemove)
788     {
789         return this.samplingOperations.remove(elementToRemove);
790     }
791 
792     private Collection<SurveyArea> surveyAreas = new HashSet<SurveyArea>();
793 
794     /**
795      * Gestion de la géométrie surfacique des passages.
796      * @return this.surveyAreas Collection<SurveyArea>
797      */
798     public Collection<SurveyArea> getSurveyAreas()
799     {
800         return this.surveyAreas;
801     }
802 
803     /**
804      * Gestion de la géométrie surfacique des passages.
805      * @param surveyAreasIn Collection<SurveyArea>
806      */
807     public void setSurveyAreas(Collection<SurveyArea> surveyAreasIn)
808     {
809         this.surveyAreas = surveyAreasIn;
810     }
811 
812     /**
813      * Gestion de la géométrie surfacique des passages.
814      * @param elementToAdd SurveyArea
815      * @return <tt>true</tt> if this collection changed as a result of the
816      *         call
817      */
818     public boolean addSurveyAreas(SurveyArea elementToAdd)
819     {
820         return this.surveyAreas.add(elementToAdd);
821     }
822 
823     /**
824      * Gestion de la géométrie surfacique des passages.
825      * @param elementToRemove SurveyArea
826      * @return <tt>true</tt> if this collection changed as a result of the
827      *         call
828      */
829     public boolean removeSurveyAreas(SurveyArea elementToRemove)
830     {
831         return this.surveyAreas.remove(elementToRemove);
832     }
833 
834     private Campaign campaign;
835 
836     /**
837      * Liste des campagnes.
838      * @return this.campaign Campaign
839      */
840     public Campaign getCampaign()
841     {
842         return this.campaign;
843     }
844 
845     /**
846      * Liste des campagnes.
847      * @param campaignIn Campaign
848      */
849     public void setCampaign(Campaign campaignIn)
850     {
851         this.campaign = campaignIn;
852     }
853 
854     private Collection<SurveyLine> surveyLines = new HashSet<SurveyLine>();
855 
856     /**
857      * Gestino de la géométrie linéaire des passages.
858      * @return this.surveyLines Collection<SurveyLine>
859      */
860     public Collection<SurveyLine> getSurveyLines()
861     {
862         return this.surveyLines;
863     }
864 
865     /**
866      * Gestino de la géométrie linéaire des passages.
867      * @param surveyLinesIn Collection<SurveyLine>
868      */
869     public void setSurveyLines(Collection<SurveyLine> surveyLinesIn)
870     {
871         this.surveyLines = surveyLinesIn;
872     }
873 
874     /**
875      * Gestino de la géométrie linéaire des passages.
876      * @param elementToAdd SurveyLine
877      * @return <tt>true</tt> if this collection changed as a result of the
878      *         call
879      */
880     public boolean addSurveyLines(SurveyLine elementToAdd)
881     {
882         return this.surveyLines.add(elementToAdd);
883     }
884 
885     /**
886      * Gestino de la géométrie linéaire des passages.
887      * @param elementToRemove SurveyLine
888      * @return <tt>true</tt> if this collection changed as a result of the
889      *         call
890      */
891     public boolean removeSurveyLines(SurveyLine elementToRemove)
892     {
893         return this.surveyLines.remove(elementToRemove);
894     }
895 
896     private Department recorderDepartment;
897 
898     /**
899      * Liste les départements ou services auxquels sont rattachés les agents
900      * @return this.recorderDepartment Department
901      */
902     public Department getRecorderDepartment()
903     {
904         return this.recorderDepartment;
905     }
906 
907     /**
908      * Liste les départements ou services auxquels sont rattachés les agents
909      * @param recorderDepartmentIn Department
910      */
911     public void setRecorderDepartment(Department recorderDepartmentIn)
912     {
913         this.recorderDepartment = recorderDepartmentIn;
914     }
915 
916     private Collection<SurveyPoint> surveyPoints = new HashSet<SurveyPoint>();
917 
918     /**
919      * Gestino de la géométrie ponctuelle des passages.
920      * @return this.surveyPoints Collection<SurveyPoint>
921      */
922     public Collection<SurveyPoint> getSurveyPoints()
923     {
924         return this.surveyPoints;
925     }
926 
927     /**
928      * Gestino de la géométrie ponctuelle des passages.
929      * @param surveyPointsIn Collection<SurveyPoint>
930      */
931     public void setSurveyPoints(Collection<SurveyPoint> surveyPointsIn)
932     {
933         this.surveyPoints = surveyPointsIn;
934     }
935 
936     /**
937      * Gestino de la géométrie ponctuelle des passages.
938      * @param elementToAdd SurveyPoint
939      * @return <tt>true</tt> if this collection changed as a result of the
940      *         call
941      */
942     public boolean addSurveyPoints(SurveyPoint elementToAdd)
943     {
944         return this.surveyPoints.add(elementToAdd);
945     }
946 
947     /**
948      * Gestino de la géométrie ponctuelle des passages.
949      * @param elementToRemove SurveyPoint
950      * @return <tt>true</tt> if this collection changed as a result of the
951      *         call
952      */
953     public boolean removeSurveyPoints(SurveyPoint elementToRemove)
954     {
955         return this.surveyPoints.remove(elementToRemove);
956     }
957 
958     private Collection<Video> videos = new HashSet<Video>();
959 
960     /**
961      * Liste des vidéos sur un passage.
962      * @return this.videos Collection<Video>
963      */
964     public Collection<Video> getVideos()
965     {
966         return this.videos;
967     }
968 
969     /**
970      * Liste des vidéos sur un passage.
971      * @param videosIn Collection<Video>
972      */
973     public void setVideos(Collection<Video> videosIn)
974     {
975         this.videos = videosIn;
976     }
977 
978     /**
979      * Liste des vidéos sur un passage.
980      * @param elementToAdd Video
981      * @return <tt>true</tt> if this collection changed as a result of the
982      *         call
983      */
984     public boolean addVideos(Video elementToAdd)
985     {
986         return this.videos.add(elementToAdd);
987     }
988 
989     /**
990      * Liste des vidéos sur un passage.
991      * @param elementToRemove Video
992      * @return <tt>true</tt> if this collection changed as a result of the
993      *         call
994      */
995     public boolean removeVideos(Video elementToRemove)
996     {
997         return this.videos.remove(elementToRemove);
998     }
999 
1000     private DredgingTargetArea dredgingTargetArea;
1001 
1002     /**
1003      * Description des zones de destination de dragage.
1004      * @return this.dredgingTargetArea DredgingTargetArea
1005      */
1006     public DredgingTargetArea getDredgingTargetArea()
1007     {
1008         return this.dredgingTargetArea;
1009     }
1010 
1011     /**
1012      * Description des zones de destination de dragage.
1013      * @param dredgingTargetAreaIn DredgingTargetArea
1014      */
1015     public void setDredgingTargetArea(DredgingTargetArea dredgingTargetAreaIn)
1016     {
1017         this.dredgingTargetArea = dredgingTargetAreaIn;
1018     }
1019 
1020     private QualityFlag qualityFlag;
1021 
1022     /**
1023      * Liste des niveaux de qualification.
1024      * @return this.qualityFlag QualityFlag
1025      */
1026     public QualityFlag getQualityFlag()
1027     {
1028         return this.qualityFlag;
1029     }
1030 
1031     /**
1032      * Liste des niveaux de qualification.
1033      * @param qualityFlagIn QualityFlag
1034      */
1035     public void setQualityFlag(QualityFlag qualityFlagIn)
1036     {
1037         this.qualityFlag = qualityFlagIn;
1038     }
1039 
1040     private Collection<Event> events = new HashSet<Event>();
1041 
1042     /**
1043      * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
1044      * @return this.events Collection<Event>
1045      */
1046     public Collection<Event> getEvents()
1047     {
1048         return this.events;
1049     }
1050 
1051     /**
1052      * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
1053      * @param eventsIn Collection<Event>
1054      */
1055     public void setEvents(Collection<Event> eventsIn)
1056     {
1057         this.events = eventsIn;
1058     }
1059 
1060     /**
1061      * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
1062      * @param elementToAdd Event
1063      * @return <tt>true</tt> if this collection changed as a result of the
1064      *         call
1065      */
1066     public boolean addEvents(Event elementToAdd)
1067     {
1068         return this.events.add(elementToAdd);
1069     }
1070 
1071     /**
1072      * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
1073      * @param elementToRemove Event
1074      * @return <tt>true</tt> if this collection changed as a result of the
1075      *         call
1076      */
1077     public boolean removeEvents(Event elementToRemove)
1078     {
1079         return this.events.remove(elementToRemove);
1080     }
1081 
1082     private Collection<ObservedHabitat> observedHabitats = new HashSet<ObservedHabitat>();
1083 
1084     /**
1085      * Commentaire sur l'habitat observé.
1086      * @return this.observedHabitats Collection<ObservedHabitat>
1087      */
1088     public Collection<ObservedHabitat> getObservedHabitats()
1089     {
1090         return this.observedHabitats;
1091     }
1092 
1093     /**
1094      * Commentaire sur l'habitat observé.
1095      * @param observedHabitatsIn Collection<ObservedHabitat>
1096      */
1097     public void setObservedHabitats(Collection<ObservedHabitat> observedHabitatsIn)
1098     {
1099         this.observedHabitats = observedHabitatsIn;
1100     }
1101 
1102     /**
1103      * Commentaire sur l'habitat observé.
1104      * @param elementToAdd ObservedHabitat
1105      * @return <tt>true</tt> if this collection changed as a result of the
1106      *         call
1107      */
1108     public boolean addObservedHabitats(ObservedHabitat elementToAdd)
1109     {
1110         return this.observedHabitats.add(elementToAdd);
1111     }
1112 
1113     /**
1114      * Commentaire sur l'habitat observé.
1115      * @param elementToRemove ObservedHabitat
1116      * @return <tt>true</tt> if this collection changed as a result of the
1117      *         call
1118      */
1119     public boolean removeObservedHabitats(ObservedHabitat elementToRemove)
1120     {
1121         return this.observedHabitats.remove(elementToRemove);
1122     }
1123 
1124     private Occasion occasion;
1125 
1126     /**
1127      * Liste des sorties effectuées lors d'une campagne.
1128      * @return this.occasion Occasion
1129      */
1130     public Occasion getOccasion()
1131     {
1132         return this.occasion;
1133     }
1134 
1135     /**
1136      * Liste des sorties effectuées lors d'une campagne.
1137      * @param occasionIn Occasion
1138      */
1139     public void setOccasion(Occasion occasionIn)
1140     {
1141         this.occasion = occasionIn;
1142     }
1143 
1144     /**
1145      * Returns <code>true</code> if the argument is an Survey instance and all identifiers for this entity
1146      * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
1147      */
1148     @Override
1149     public boolean equals(Object object)
1150     {
1151         if (this == object)
1152         {
1153             return true;
1154         }
1155         if (!(object instanceof Survey))
1156         {
1157             return false;
1158         }
1159         final Survey that = (Survey)object;
1160         if (this.surveyId == null || that.getSurveyId() == null || !this.surveyId.equals(that.getSurveyId()))
1161         {
1162             return false;
1163         }
1164         return true;
1165     }
1166 
1167     /**
1168      * Returns a hash code based on this entity's identifiers.
1169      */
1170     @Override
1171     public int hashCode()
1172     {
1173         int hashCode = 0;
1174         hashCode = 29 * hashCode + (this.surveyId == null ? 0 : this.surveyId.hashCode());
1175 
1176         return hashCode;
1177     }
1178 
1179     /**
1180      * Constructs new instances of {@link Survey}.
1181      */
1182     public static final class Factory
1183     {
1184         /**
1185          * Constructs a new instance of {@link Survey}.
1186          * @return new SurveyImpl()
1187          */
1188         public static Survey newInstance()
1189         {
1190             return new SurveyImpl();
1191         }
1192 
1193         /**
1194          * Constructs a new instance of {@link Survey}, taking all required and/or
1195          * read-only properties as arguments, except for identifiers.
1196          * @param surveyDt Date
1197          * @param synchronizationStatus String
1198          * @param monitoringLocation MonitoringLocation
1199          * @param recorderDepartment Department
1200          * @param qualityFlag QualityFlag
1201          * @return newInstance
1202          */
1203         public static Survey newInstance(Date surveyDt, String synchronizationStatus, MonitoringLocation monitoringLocation, Department recorderDepartment, QualityFlag qualityFlag)
1204         {
1205             final Survey entity = new SurveyImpl();
1206             entity.setSurveyDt(surveyDt);
1207             entity.setSynchronizationStatus(synchronizationStatus);
1208             entity.setMonitoringLocation(monitoringLocation);
1209             entity.setRecorderDepartment(recorderDepartment);
1210             entity.setQualityFlag(qualityFlag);
1211             return entity;
1212         }
1213 
1214         /**
1215          * Constructs a new instance of {@link Survey}, taking all possible properties
1216          * (except the identifier(s))as arguments.
1217          * @param surveyDt Date
1218          * @param surveyTime Integer
1219          * @param surveyNumberIndiv Integer
1220          * @param surveyBottomDepth Float
1221          * @param surveyLb String
1222          * @param surveyCm String
1223          * @param surveyUtFormat Double
1224          * @param surveyControlDt Date
1225          * @param surveyValidDt Date
1226          * @param surveyValidCm String
1227          * @param surveyQualifDt Date
1228          * @param surveyQualifCm String
1229          * @param surveyActualPosition String
1230          * @param surveyPositionCm String
1231          * @param surveyGeometryValidDt Date
1232          * @param surveyScope String
1233          * @param surveyHasMeas String
1234          * @param updateDt Timestamp
1235          * @param synchronizationStatus String
1236          * @param remoteId Integer
1237          * @param qusers Collection<Quser>
1238          * @param fieldObservations Collection<FieldObservation>
1239          * @param bottomDepthUnit Unit
1240          * @param monitoringLocation MonitoringLocation
1241          * @param positionningSystem PositionningSystem
1242          * @param programs Collection<Program>
1243          * @param measuredProfiles Collection<MeasuredProfile>
1244          * @param samplingOperations Collection<SamplingOperation>
1245          * @param surveyAreas Collection<SurveyArea>
1246          * @param campaign Campaign
1247          * @param surveyLines Collection<SurveyLine>
1248          * @param recorderDepartment Department
1249          * @param surveyPoints Collection<SurveyPoint>
1250          * @param videos Collection<Video>
1251          * @param dredgingTargetArea DredgingTargetArea
1252          * @param qualityFlag QualityFlag
1253          * @param events Collection<Event>
1254          * @param observedHabitats Collection<ObservedHabitat>
1255          * @param occasion Occasion
1256          * @return newInstance Survey
1257          */
1258         public static Survey newInstance(Date surveyDt, Integer surveyTime, Integer surveyNumberIndiv, Float surveyBottomDepth, String surveyLb, String surveyCm, Double surveyUtFormat, Date surveyControlDt, Date surveyValidDt, String surveyValidCm, Date surveyQualifDt, String surveyQualifCm, String surveyActualPosition, String surveyPositionCm, Date surveyGeometryValidDt, String surveyScope, String surveyHasMeas, Timestamp updateDt, String synchronizationStatus, Integer remoteId, Collection<Quser> qusers, Collection<FieldObservation> fieldObservations, Unit bottomDepthUnit, MonitoringLocation monitoringLocation, PositionningSystem positionningSystem, Collection<Program> programs, Collection<MeasuredProfile> measuredProfiles, Collection<SamplingOperation> samplingOperations, Collection<SurveyArea> surveyAreas, Campaign campaign, Collection<SurveyLine> surveyLines, Department recorderDepartment, Collection<SurveyPoint> surveyPoints, Collection<Video> videos, DredgingTargetArea dredgingTargetArea, QualityFlag qualityFlag, Collection<Event> events, Collection<ObservedHabitat> observedHabitats, Occasion occasion)
1259         {
1260             final Survey entity = new SurveyImpl();
1261             entity.setSurveyDt(surveyDt);
1262             entity.setSurveyTime(surveyTime);
1263             entity.setSurveyNumberIndiv(surveyNumberIndiv);
1264             entity.setSurveyBottomDepth(surveyBottomDepth);
1265             entity.setSurveyLb(surveyLb);
1266             entity.setSurveyCm(surveyCm);
1267             entity.setSurveyUtFormat(surveyUtFormat);
1268             entity.setSurveyControlDt(surveyControlDt);
1269             entity.setSurveyValidDt(surveyValidDt);
1270             entity.setSurveyValidCm(surveyValidCm);
1271             entity.setSurveyQualifDt(surveyQualifDt);
1272             entity.setSurveyQualifCm(surveyQualifCm);
1273             entity.setSurveyActualPosition(surveyActualPosition);
1274             entity.setSurveyPositionCm(surveyPositionCm);
1275             entity.setSurveyGeometryValidDt(surveyGeometryValidDt);
1276             entity.setSurveyScope(surveyScope);
1277             entity.setSurveyHasMeas(surveyHasMeas);
1278             entity.setUpdateDt(updateDt);
1279             entity.setSynchronizationStatus(synchronizationStatus);
1280             entity.setRemoteId(remoteId);
1281             entity.setQusers(qusers);
1282             entity.setFieldObservations(fieldObservations);
1283             entity.setBottomDepthUnit(bottomDepthUnit);
1284             entity.setMonitoringLocation(monitoringLocation);
1285             entity.setPositionningSystem(positionningSystem);
1286             entity.setPrograms(programs);
1287             entity.setMeasuredProfiles(measuredProfiles);
1288             entity.setSamplingOperations(samplingOperations);
1289             entity.setSurveyAreas(surveyAreas);
1290             entity.setCampaign(campaign);
1291             entity.setSurveyLines(surveyLines);
1292             entity.setRecorderDepartment(recorderDepartment);
1293             entity.setSurveyPoints(surveyPoints);
1294             entity.setVideos(videos);
1295             entity.setDredgingTargetArea(dredgingTargetArea);
1296             entity.setQualityFlag(qualityFlag);
1297             entity.setEvents(events);
1298             entity.setObservedHabitats(observedHabitats);
1299             entity.setOccasion(occasion);
1300             return entity;
1301         }
1302     }
1303 
1304     /**
1305      * @see Comparable#compareTo
1306      */
1307     public int compareTo(Survey o)
1308     {
1309         int cmp = 0;
1310         if (this.getSurveyId() != null)
1311         {
1312             cmp = this.getSurveyId().compareTo(o.getSurveyId());
1313         }
1314         else
1315         {
1316             if (this.getSurveyDt() != null)
1317             {
1318                 cmp = (cmp != 0 ? cmp : this.getSurveyDt().compareTo(o.getSurveyDt()));
1319             }
1320             if (this.getSurveyTime() != null)
1321             {
1322                 cmp = (cmp != 0 ? cmp : this.getSurveyTime().compareTo(o.getSurveyTime()));
1323             }
1324             if (this.getSurveyNumberIndiv() != null)
1325             {
1326                 cmp = (cmp != 0 ? cmp : this.getSurveyNumberIndiv().compareTo(o.getSurveyNumberIndiv()));
1327             }
1328             if (this.getSurveyBottomDepth() != null)
1329             {
1330                 cmp = (cmp != 0 ? cmp : this.getSurveyBottomDepth().compareTo(o.getSurveyBottomDepth()));
1331             }
1332             if (this.getSurveyLb() != null)
1333             {
1334                 cmp = (cmp != 0 ? cmp : this.getSurveyLb().compareTo(o.getSurveyLb()));
1335             }
1336             if (this.getSurveyCm() != null)
1337             {
1338                 cmp = (cmp != 0 ? cmp : this.getSurveyCm().compareTo(o.getSurveyCm()));
1339             }
1340             if (this.getSurveyUtFormat() != null)
1341             {
1342                 cmp = (cmp != 0 ? cmp : this.getSurveyUtFormat().compareTo(o.getSurveyUtFormat()));
1343             }
1344             if (this.getSurveyControlDt() != null)
1345             {
1346                 cmp = (cmp != 0 ? cmp : this.getSurveyControlDt().compareTo(o.getSurveyControlDt()));
1347             }
1348             if (this.getSurveyValidDt() != null)
1349             {
1350                 cmp = (cmp != 0 ? cmp : this.getSurveyValidDt().compareTo(o.getSurveyValidDt()));
1351             }
1352             if (this.getSurveyValidCm() != null)
1353             {
1354                 cmp = (cmp != 0 ? cmp : this.getSurveyValidCm().compareTo(o.getSurveyValidCm()));
1355             }
1356             if (this.getSurveyQualifDt() != null)
1357             {
1358                 cmp = (cmp != 0 ? cmp : this.getSurveyQualifDt().compareTo(o.getSurveyQualifDt()));
1359             }
1360             if (this.getSurveyQualifCm() != null)
1361             {
1362                 cmp = (cmp != 0 ? cmp : this.getSurveyQualifCm().compareTo(o.getSurveyQualifCm()));
1363             }
1364             if (this.getSurveyActualPosition() != null)
1365             {
1366                 cmp = (cmp != 0 ? cmp : this.getSurveyActualPosition().compareTo(o.getSurveyActualPosition()));
1367             }
1368             if (this.getSurveyPositionCm() != null)
1369             {
1370                 cmp = (cmp != 0 ? cmp : this.getSurveyPositionCm().compareTo(o.getSurveyPositionCm()));
1371             }
1372             if (this.getSurveyGeometryValidDt() != null)
1373             {
1374                 cmp = (cmp != 0 ? cmp : this.getSurveyGeometryValidDt().compareTo(o.getSurveyGeometryValidDt()));
1375             }
1376             if (this.getSurveyScope() != null)
1377             {
1378                 cmp = (cmp != 0 ? cmp : this.getSurveyScope().compareTo(o.getSurveyScope()));
1379             }
1380             if (this.getSurveyHasMeas() != null)
1381             {
1382                 cmp = (cmp != 0 ? cmp : this.getSurveyHasMeas().compareTo(o.getSurveyHasMeas()));
1383             }
1384             if (this.getUpdateDt() != null)
1385             {
1386                 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
1387             }
1388             if (this.getSynchronizationStatus() != null)
1389             {
1390                 cmp = (cmp != 0 ? cmp : this.getSynchronizationStatus().compareTo(o.getSynchronizationStatus()));
1391             }
1392             if (this.getRemoteId() != null)
1393             {
1394                 cmp = (cmp != 0 ? cmp : this.getRemoteId().compareTo(o.getRemoteId()));
1395             }
1396         }
1397         return cmp;
1398     }
1399 // HibernateEntity.vsl merge-point
1400 // Survey.java merge-point
1401 }