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 }