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.system;
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.user.Quser;
29  import fr.ifremer.quadrige3.core.dao.referential.ObjectType;
30  import fr.ifremer.quadrige3.core.dao.referential.QualityFlag;
31  import fr.ifremer.quadrige3.core.dao.referential.pmfm.QualitativeValue;
32  import fr.ifremer.quadrige3.core.dao.referential.taxon.ReferenceTaxon;
33  import fr.ifremer.quadrige3.core.dao.referential.taxon.TaxonGroup;
34  import java.io.Serializable;
35  import java.sql.Timestamp;
36  
37  /**
38   * Historique d'une opération de qualification
39   */
40  // HibernateEntity.vsl annotations merge-point
41  public abstract class QualificationHistory
42      implements Serializable, Comparable<QualificationHistory>
43  {
44      /**
45       * The serial version UID of this class. Needed for serialization.
46       */
47      private static final long serialVersionUID = 5158149333765545132L;
48  
49      // Generate 6 attributes
50      private Integer qualHistId;
51  
52      /**
53       * Identifiant de l'opération de qualification
54       * @return this.qualHistId Integer
55       */
56      public Integer getQualHistId()
57      {
58          return this.qualHistId;
59      }
60  
61      /**
62       * Identifiant de l'opération de qualification
63       * @param qualHistIdIn Integer
64       */
65      public void setQualHistId(Integer qualHistIdIn)
66      {
67          this.qualHistId = qualHistIdIn;
68      }
69  
70      private String qualHistElementId;
71  
72      /**
73       * Identifiant de l'entité manipulée : vachar2(77) pour pouvoir contenir la clé composite
74       * SURVEY_ID-EUNIS_TYP_ID
75       * @return this.qualHistElementId String
76       */
77      public String getQualHistElementId()
78      {
79          return this.qualHistElementId;
80      }
81  
82      /**
83       * Identifiant de l'entité manipulée : vachar2(77) pour pouvoir contenir la clé composite
84       * SURVEY_ID-EUNIS_TYP_ID
85       * @param qualHistElementIdIn String
86       */
87      public void setQualHistElementId(String qualHistElementIdIn)
88      {
89          this.qualHistElementId = qualHistElementIdIn;
90      }
91  
92      private String qualHistOperationCm;
93  
94      /**
95       * Commentaire de l'opération de qualification
96       * @return this.qualHistOperationCm String
97       */
98      public String getQualHistOperationCm()
99      {
100         return this.qualHistOperationCm;
101     }
102 
103     /**
104      * Commentaire de l'opération de qualification
105      * @param qualHistOperationCmIn String
106      */
107     public void setQualHistOperationCm(String qualHistOperationCmIn)
108     {
109         this.qualHistOperationCm = qualHistOperationCmIn;
110     }
111 
112     private Float qualHistPreviousValue;
113 
114     /**
115      * Valeur numérique précédente
116      * @return this.qualHistPreviousValue Float
117      */
118     public Float getQualHistPreviousValue()
119     {
120         return this.qualHistPreviousValue;
121     }
122 
123     /**
124      * Valeur numérique précédente
125      * @param qualHistPreviousValueIn Float
126      */
127     public void setQualHistPreviousValue(Float qualHistPreviousValueIn)
128     {
129         this.qualHistPreviousValue = qualHistPreviousValueIn;
130     }
131 
132     private String qualHistPreviousCm;
133 
134     /**
135      * Précédent commentaire de qualification
136      * @return this.qualHistPreviousCm String
137      */
138     public String getQualHistPreviousCm()
139     {
140         return this.qualHistPreviousCm;
141     }
142 
143     /**
144      * Précédent commentaire de qualification
145      * @param qualHistPreviousCmIn String
146      */
147     public void setQualHistPreviousCm(String qualHistPreviousCmIn)
148     {
149         this.qualHistPreviousCm = qualHistPreviousCmIn;
150     }
151 
152     private Timestamp updateDt;
153 
154     /**
155      * Date de mise à jour de l'entité
156      * @return this.updateDt Timestamp
157      */
158     public Timestamp getUpdateDt()
159     {
160         return this.updateDt;
161     }
162 
163     /**
164      * Date de mise à jour de l'entité
165      * @param updateDtIn Timestamp
166      */
167     public void setUpdateDt(Timestamp updateDtIn)
168     {
169         this.updateDt = updateDtIn;
170     }
171 
172     // Generate 6 associations
173     private ObjectType objectType;
174 
175     /**
176      * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
177      * ne peut
178      * pas être modifiée par l'utilisateur.
179      * @return this.objectType ObjectType
180      */
181     public ObjectType getObjectType()
182     {
183         return this.objectType;
184     }
185 
186     /**
187      * Liste des types d'objets qui peuvent être associés à la photo ou à un résultat. Cette liste
188      * ne peut
189      * pas être modifiée par l'utilisateur.
190      * @param objectTypeIn ObjectType
191      */
192     public void setObjectType(ObjectType objectTypeIn)
193     {
194         this.objectType = objectTypeIn;
195     }
196 
197     private ReferenceTaxon referenceTaxon;
198 
199     /**
200      * Liste des taxons qui sont la référence.
201      * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment
202      * et ne
203      * plus l'être par la suite.
204      * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont
205      * référents à un moment mais ne peuvent plus l'être par la suite.
206      * Le fonctionnement dans la table TAXON_NAME est le suivant :
207      * - REF_TAXON_ID est toujours renseigné
208      * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il
209      * s'agit d'un
210      * taxon virtuel)
211      * - sinon c'est un synonyme
212      * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le
213      * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID
214      * NB : c'était le comportement initialement prévu.
215      * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2,
216      * le taxon
217      * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes
218      * et les
219      * résultats qu'il pouvait avoir).
220      * Ce mécanisme a été adopté car il fallait distinguer 2 cas :
221      * 1- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qu'on crée T2 : on aurait
222      * alors
223      * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres
224      * synonymes, résultats...
225      * 2- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qui existe déjà T2-R2 (et
226      * qui
227      * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1
228      * pour
229      * R2 est nécessaire
230      * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on
231      * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les
232      * référents
233      * @return this.referenceTaxon ReferenceTaxon
234      */
235     public ReferenceTaxon getReferenceTaxon()
236     {
237         return this.referenceTaxon;
238     }
239 
240     /**
241      * Liste des taxons qui sont la référence.
242      * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment
243      * et ne
244      * plus l'être par la suite.
245      * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont
246      * référents à un moment mais ne peuvent plus l'être par la suite.
247      * Le fonctionnement dans la table TAXON_NAME est le suivant :
248      * - REF_TAXON_ID est toujours renseigné
249      * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il
250      * s'agit d'un
251      * taxon virtuel)
252      * - sinon c'est un synonyme
253      * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le
254      * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID
255      * NB : c'était le comportement initialement prévu.
256      * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2,
257      * le taxon
258      * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes
259      * et les
260      * résultats qu'il pouvait avoir).
261      * Ce mécanisme a été adopté car il fallait distinguer 2 cas :
262      * 1- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qu'on crée T2 : on aurait
263      * alors
264      * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres
265      * synonymes, résultats...
266      * 2- cas d'un taxon référent T1-R1 qui devient synonyme d'un référent qui existe déjà T2-R2 (et
267      * qui
268      * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1
269      * pour
270      * R2 est nécessaire
271      * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on
272      * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les
273      * référents
274      * @param referenceTaxonIn ReferenceTaxon
275      */
276     public void setReferenceTaxon(ReferenceTaxon referenceTaxonIn)
277     {
278         this.referenceTaxon = referenceTaxonIn;
279     }
280 
281     private QualitativeValue qualitativeValue;
282 
283     /**
284      * Liste des valeurs qualitatives associées aux paramètres.
285      * @return this.qualitativeValue QualitativeValue
286      */
287     public QualitativeValue getQualitativeValue()
288     {
289         return this.qualitativeValue;
290     }
291 
292     /**
293      * Liste des valeurs qualitatives associées aux paramètres.
294      * @param qualitativeValueIn QualitativeValue
295      */
296     public void setQualitativeValue(QualitativeValue qualitativeValueIn)
297     {
298         this.qualitativeValue = qualitativeValueIn;
299     }
300 
301     private TaxonGroup taxonGroup;
302 
303     /**
304      * Liste l'ensemble de taxons ayant les mêmes caractéristiques pour le critère pris en compte.
305      * @return this.taxonGroup TaxonGroup
306      */
307     public TaxonGroup getTaxonGroup()
308     {
309         return this.taxonGroup;
310     }
311 
312     /**
313      * Liste l'ensemble de taxons ayant les mêmes caractéristiques pour le critère pris en compte.
314      * @param taxonGroupIn TaxonGroup
315      */
316     public void setTaxonGroup(TaxonGroup taxonGroupIn)
317     {
318         this.taxonGroup = taxonGroupIn;
319     }
320 
321     private QualityFlag qualityFlag;
322 
323     /**
324      * Liste des niveaux de qualification.
325      * @return this.qualityFlag QualityFlag
326      */
327     public QualityFlag getQualityFlag()
328     {
329         return this.qualityFlag;
330     }
331 
332     /**
333      * Liste des niveaux de qualification.
334      * @param qualityFlagIn QualityFlag
335      */
336     public void setQualityFlag(QualityFlag qualityFlagIn)
337     {
338         this.qualityFlag = qualityFlagIn;
339     }
340 
341     private Quser quser;
342 
343     /**
344      * Liste l'ensemble des agents et utilisateurs du système.
345      * @return this.quser Quser
346      */
347     public Quser getQuser()
348     {
349         return this.quser;
350     }
351 
352     /**
353      * Liste l'ensemble des agents et utilisateurs du système.
354      * @param quserIn Quser
355      */
356     public void setQuser(Quser quserIn)
357     {
358         this.quser = quserIn;
359     }
360 
361     /**
362      * Returns <code>true</code> if the argument is an QualificationHistory instance and all identifiers for this entity
363      * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
364      */
365     @Override
366     public boolean equals(Object object)
367     {
368         if (this == object)
369         {
370             return true;
371         }
372         if (!(object instanceof QualificationHistory))
373         {
374             return false;
375         }
376         final QualificationHistory that = (QualificationHistory)object;
377         if (this.qualHistId == null || that.getQualHistId() == null || !this.qualHistId.equals(that.getQualHistId()))
378         {
379             return false;
380         }
381         return true;
382     }
383 
384     /**
385      * Returns a hash code based on this entity's identifiers.
386      */
387     @Override
388     public int hashCode()
389     {
390         int hashCode = 0;
391         hashCode = 29 * hashCode + (this.qualHistId == null ? 0 : this.qualHistId.hashCode());
392 
393         return hashCode;
394     }
395 
396     /**
397      * Constructs new instances of {@link QualificationHistory}.
398      */
399     public static final class Factory
400     {
401         /**
402          * Constructs a new instance of {@link QualificationHistory}.
403          * @return new QualificationHistoryImpl()
404          */
405         public static QualificationHistory newInstance()
406         {
407             return new QualificationHistoryImpl();
408         }
409 
410         /**
411          * Constructs a new instance of {@link QualificationHistory}, taking all required and/or
412          * read-only properties as arguments, except for identifiers.
413          * @param qualHistElementId String
414          * @param objectType ObjectType
415          * @param quser Quser
416          * @return newInstance
417          */
418         public static QualificationHistory newInstance(String qualHistElementId, ObjectType objectType, Quser quser)
419         {
420             final QualificationHistory entity = new QualificationHistoryImpl();
421             entity.setQualHistElementId(qualHistElementId);
422             entity.setObjectType(objectType);
423             entity.setQuser(quser);
424             return entity;
425         }
426 
427         /**
428          * Constructs a new instance of {@link QualificationHistory}, taking all possible properties
429          * (except the identifier(s))as arguments.
430          * @param qualHistElementId String
431          * @param qualHistOperationCm String
432          * @param qualHistPreviousValue Float
433          * @param qualHistPreviousCm String
434          * @param updateDt Timestamp
435          * @param objectType ObjectType
436          * @param referenceTaxon ReferenceTaxon
437          * @param qualitativeValue QualitativeValue
438          * @param taxonGroup TaxonGroup
439          * @param qualityFlag QualityFlag
440          * @param quser Quser
441          * @return newInstance QualificationHistory
442          */
443         public static QualificationHistory newInstance(String qualHistElementId, String qualHistOperationCm, Float qualHistPreviousValue, String qualHistPreviousCm, Timestamp updateDt, ObjectType objectType, ReferenceTaxon referenceTaxon, QualitativeValue qualitativeValue, TaxonGroup taxonGroup, QualityFlag qualityFlag, Quser quser)
444         {
445             final QualificationHistory entity = new QualificationHistoryImpl();
446             entity.setQualHistElementId(qualHistElementId);
447             entity.setQualHistOperationCm(qualHistOperationCm);
448             entity.setQualHistPreviousValue(qualHistPreviousValue);
449             entity.setQualHistPreviousCm(qualHistPreviousCm);
450             entity.setUpdateDt(updateDt);
451             entity.setObjectType(objectType);
452             entity.setReferenceTaxon(referenceTaxon);
453             entity.setQualitativeValue(qualitativeValue);
454             entity.setTaxonGroup(taxonGroup);
455             entity.setQualityFlag(qualityFlag);
456             entity.setQuser(quser);
457             return entity;
458         }
459     }
460 
461     /**
462      * @see Comparable#compareTo
463      */
464     public int compareTo(QualificationHistory o)
465     {
466         int cmp = 0;
467         if (this.getQualHistId() != null)
468         {
469             cmp = this.getQualHistId().compareTo(o.getQualHistId());
470         }
471         else
472         {
473             if (this.getQualHistElementId() != null)
474             {
475                 cmp = (cmp != 0 ? cmp : this.getQualHistElementId().compareTo(o.getQualHistElementId()));
476             }
477             if (this.getQualHistOperationCm() != null)
478             {
479                 cmp = (cmp != 0 ? cmp : this.getQualHistOperationCm().compareTo(o.getQualHistOperationCm()));
480             }
481             if (this.getQualHistPreviousValue() != null)
482             {
483                 cmp = (cmp != 0 ? cmp : this.getQualHistPreviousValue().compareTo(o.getQualHistPreviousValue()));
484             }
485             if (this.getQualHistPreviousCm() != null)
486             {
487                 cmp = (cmp != 0 ? cmp : this.getQualHistPreviousCm().compareTo(o.getQualHistPreviousCm()));
488             }
489             if (this.getUpdateDt() != null)
490             {
491                 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
492             }
493         }
494         return cmp;
495     }
496 // HibernateEntity.vsl merge-point
497 // QualificationHistory.java merge-point
498 }