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