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 }