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