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