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.data.aquaculture; 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.program.Program; 30 import fr.ifremer.quadrige2.core.dao.administration.user.Department; 31 import fr.ifremer.quadrige2.core.dao.administration.user.Quser; 32 import fr.ifremer.quadrige2.core.dao.referential.QualityFlag; 33 import fr.ifremer.quadrige2.core.dao.referential.taxon.ReferenceTaxon; 34 import java.io.Serializable; 35 import java.sql.Timestamp; 36 import java.util.Collection; 37 import java.util.Date; 38 import java.util.HashSet; 39 40 /** 41 * Pour les données aquacoles de nombreuses études consiste à voir les évolutions de plusieurs 42 * paramètres sur une même population de mollusques répartis en lots sur le littoral français. Cela 43 * permet de comparer les évolutions liées seulement au site. On part d'un ensemble de mollusques, 44 * que l'on appelle population initiale, au niveau national et l'on repartit cet ensemble en lots 45 * sur différents lieux de mesures. 46 */ 47 // HibernateEntity.vsl annotations merge-point 48 public abstract class InitialPopulation 49 implements Serializable, Comparable<InitialPopulation> 50 { 51 /** 52 * The serial version UID of this class. Needed for serialization. 53 */ 54 private static final long serialVersionUID = 8142238669405250520L; 55 56 // Generate 11 attributes 57 private Integer initPopId; 58 59 /** 60 * Identifiant de la population initiale 61 * @return this.initPopId Integer 62 */ 63 public Integer getInitPopId() 64 { 65 return this.initPopId; 66 } 67 68 /** 69 * Identifiant de la population initiale 70 * @param initPopIdIn Integer 71 */ 72 public void setInitPopId(Integer initPopIdIn) 73 { 74 this.initPopId = initPopIdIn; 75 } 76 77 private String initPopNm; 78 79 /** 80 * Libellé de la population initiale 81 * @return this.initPopNm String 82 */ 83 public String getInitPopNm() 84 { 85 return this.initPopNm; 86 } 87 88 /** 89 * Libellé de la population initiale 90 * @param initPopNmIn String 91 */ 92 public void setInitPopNm(String initPopNmIn) 93 { 94 this.initPopNm = initPopNmIn; 95 } 96 97 private String initPopLb; 98 99 /** 100 * Mnémonique de la population initiale 101 * @return this.initPopLb String 102 */ 103 public String getInitPopLb() 104 { 105 return this.initPopLb; 106 } 107 108 /** 109 * Mnémonique de la population initiale 110 * @param initPopLbIn String 111 */ 112 public void setInitPopLb(String initPopLbIn) 113 { 114 this.initPopLb = initPopLbIn; 115 } 116 117 private String initPopCm; 118 119 /** 120 * Commentaire sur la population initiale 121 * @return this.initPopCm String 122 */ 123 public String getInitPopCm() 124 { 125 return this.initPopCm; 126 } 127 128 /** 129 * Commentaire sur la population initiale 130 * @param initPopCmIn String 131 */ 132 public void setInitPopCm(String initPopCmIn) 133 { 134 this.initPopCm = initPopCmIn; 135 } 136 137 private Date initPopQualifDt; 138 139 /** 140 * Date de qualification de la population initiale 141 * @return this.initPopQualifDt Date 142 */ 143 public Date getInitPopQualifDt() 144 { 145 return this.initPopQualifDt; 146 } 147 148 /** 149 * Date de qualification de la population initiale 150 * @param initPopQualifDtIn Date 151 */ 152 public void setInitPopQualifDt(Date initPopQualifDtIn) 153 { 154 this.initPopQualifDt = initPopQualifDtIn; 155 } 156 157 private String initPopQualifCm; 158 159 /** 160 * Commentaire de qualification de la population initiale 161 * @return this.initPopQualifCm String 162 */ 163 public String getInitPopQualifCm() 164 { 165 return this.initPopQualifCm; 166 } 167 168 /** 169 * Commentaire de qualification de la population initiale 170 * @param initPopQualifCmIn String 171 */ 172 public void setInitPopQualifCm(String initPopQualifCmIn) 173 { 174 this.initPopQualifCm = initPopQualifCmIn; 175 } 176 177 private Date initPopValidDt; 178 179 /** 180 * Date de validation de la population initiale 181 * @return this.initPopValidDt Date 182 */ 183 public Date getInitPopValidDt() 184 { 185 return this.initPopValidDt; 186 } 187 188 /** 189 * Date de validation de la population initiale 190 * @param initPopValidDtIn Date 191 */ 192 public void setInitPopValidDt(Date initPopValidDtIn) 193 { 194 this.initPopValidDt = initPopValidDtIn; 195 } 196 197 private Date initPopControlDt; 198 199 /** 200 * Date de controle de la population initiale 201 * @return this.initPopControlDt Date 202 */ 203 public Date getInitPopControlDt() 204 { 205 return this.initPopControlDt; 206 } 207 208 /** 209 * Date de controle de la population initiale 210 * @param initPopControlDtIn Date 211 */ 212 public void setInitPopControlDt(Date initPopControlDtIn) 213 { 214 this.initPopControlDt = initPopControlDtIn; 215 } 216 217 private Date initPopStartDt; 218 219 /** 220 * Date de mise à disposition de la population initiale 221 * @return this.initPopStartDt Date 222 */ 223 public Date getInitPopStartDt() 224 { 225 return this.initPopStartDt; 226 } 227 228 /** 229 * Date de mise à disposition de la population initiale 230 * @param initPopStartDtIn Date 231 */ 232 public void setInitPopStartDt(Date initPopStartDtIn) 233 { 234 this.initPopStartDt = initPopStartDtIn; 235 } 236 237 private Double initPopBiometricIndivNb; 238 239 /** 240 * Nombre d'individus pour les mesures de biométrie 241 * @return this.initPopBiometricIndivNb Double 242 */ 243 public Double getInitPopBiometricIndivNb() 244 { 245 return this.initPopBiometricIndivNb; 246 } 247 248 /** 249 * Nombre d'individus pour les mesures de biométrie 250 * @param initPopBiometricIndivNbIn Double 251 */ 252 public void setInitPopBiometricIndivNb(Double initPopBiometricIndivNbIn) 253 { 254 this.initPopBiometricIndivNb = initPopBiometricIndivNbIn; 255 } 256 257 private Timestamp updateDt; 258 259 /** 260 * Date de maj 261 * @return this.updateDt Timestamp 262 */ 263 public Timestamp getUpdateDt() 264 { 265 return this.updateDt; 266 } 267 268 /** 269 * Date de maj 270 * @param updateDtIn Timestamp 271 */ 272 public void setUpdateDt(Timestamp updateDtIn) 273 { 274 this.updateDt = updateDtIn; 275 } 276 277 // Generate 10 associations 278 private Ploidy ploidy; 279 280 /** 281 * La ploïdie d'une cellule caractérise le nombre et l'organisation de ses chromosomes 282 * @return this.ploidy Ploidy 283 */ 284 public Ploidy getPloidy() 285 { 286 return this.ploidy; 287 } 288 289 /** 290 * La ploïdie d'une cellule caractérise le nombre et l'organisation de ses chromosomes 291 * @param ploidyIn Ploidy 292 */ 293 public void setPloidy(Ploidy ploidyIn) 294 { 295 this.ploidy = ploidyIn; 296 } 297 298 private Collection<Department> departments = new HashSet<Department>(); 299 300 /** 301 * Liste les départements ou services auxquels sont rattachés les agents 302 * @return this.departments Collection<Department> 303 */ 304 public Collection<Department> getDepartments() 305 { 306 return this.departments; 307 } 308 309 /** 310 * Liste les départements ou services auxquels sont rattachés les agents 311 * @param departmentsIn Collection<Department> 312 */ 313 public void setDepartments(Collection<Department> departmentsIn) 314 { 315 this.departments = departmentsIn; 316 } 317 318 /** 319 * Liste les départements ou services auxquels sont rattachés les agents 320 * @param elementToAdd Department 321 * @return <tt>true</tt> if this collection changed as a result of the 322 * call 323 */ 324 public boolean addDepartments(Department elementToAdd) 325 { 326 return this.departments.add(elementToAdd); 327 } 328 329 /** 330 * Liste les départements ou services auxquels sont rattachés les agents 331 * @param elementToRemove Department 332 * @return <tt>true</tt> if this collection changed as a result of the 333 * call 334 */ 335 public boolean removeDepartments(Department elementToRemove) 336 { 337 return this.departments.remove(elementToRemove); 338 } 339 340 private Collection<HistoricalAccount> historicalAccounts = new HashSet<HistoricalAccount>(); 341 342 /** 343 * Ligne d'historique 344 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 345 * étude. Ce 346 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 347 * ligne 348 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 349 * début de 350 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 351 * type de 352 * phase d'élevag 353 * @return this.historicalAccounts Collection<HistoricalAccount> 354 */ 355 public Collection<HistoricalAccount> getHistoricalAccounts() 356 { 357 return this.historicalAccounts; 358 } 359 360 /** 361 * Ligne d'historique 362 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 363 * étude. Ce 364 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 365 * ligne 366 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 367 * début de 368 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 369 * type de 370 * phase d'élevag 371 * @param historicalAccountsIn Collection<HistoricalAccount> 372 */ 373 public void setHistoricalAccounts(Collection<HistoricalAccount> historicalAccountsIn) 374 { 375 this.historicalAccounts = historicalAccountsIn; 376 } 377 378 /** 379 * Ligne d'historique 380 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 381 * étude. Ce 382 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 383 * ligne 384 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 385 * début de 386 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 387 * type de 388 * phase d'élevag 389 * @param elementToAdd HistoricalAccount 390 * @return <tt>true</tt> if this collection changed as a result of the 391 * call 392 */ 393 public boolean addHistoricalAccounts(HistoricalAccount elementToAdd) 394 { 395 return this.historicalAccounts.add(elementToAdd); 396 } 397 398 /** 399 * Ligne d'historique 400 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 401 * étude. Ce 402 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 403 * ligne 404 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 405 * début de 406 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 407 * type de 408 * phase d'élevag 409 * @param elementToRemove HistoricalAccount 410 * @return <tt>true</tt> if this collection changed as a result of the 411 * call 412 */ 413 public boolean removeHistoricalAccounts(HistoricalAccount elementToRemove) 414 { 415 return this.historicalAccounts.remove(elementToRemove); 416 } 417 418 private Collection<Program> programs = new HashSet<Program>(); 419 420 /** 421 * Activités à l'origine de la collecte d'un ensemble cohérent de données. 422 * @return this.programs Collection<Program> 423 */ 424 public Collection<Program> getPrograms() 425 { 426 return this.programs; 427 } 428 429 /** 430 * Activités à l'origine de la collecte d'un ensemble cohérent de données. 431 * @param programsIn Collection<Program> 432 */ 433 public void setPrograms(Collection<Program> programsIn) 434 { 435 this.programs = programsIn; 436 } 437 438 /** 439 * Activités à l'origine de la collecte d'un ensemble cohérent de données. 440 * @param elementToAdd Program 441 * @return <tt>true</tt> if this collection changed as a result of the 442 * call 443 */ 444 public boolean addPrograms(Program elementToAdd) 445 { 446 return this.programs.add(elementToAdd); 447 } 448 449 /** 450 * Activités à l'origine de la collecte d'un ensemble cohérent de données. 451 * @param elementToRemove Program 452 * @return <tt>true</tt> if this collection changed as a result of the 453 * call 454 */ 455 public boolean removePrograms(Program elementToRemove) 456 { 457 return this.programs.remove(elementToRemove); 458 } 459 460 private QualityFlag qualityFlag; 461 462 /** 463 * Liste des niveaux de qualification. 464 * @return this.qualityFlag QualityFlag 465 */ 466 public QualityFlag getQualityFlag() 467 { 468 return this.qualityFlag; 469 } 470 471 /** 472 * Liste des niveaux de qualification. 473 * @param qualityFlagIn QualityFlag 474 */ 475 public void setQualityFlag(QualityFlag qualityFlagIn) 476 { 477 this.qualityFlag = qualityFlagIn; 478 } 479 480 private ReferenceTaxon referenceTaxon; 481 482 /** 483 * Liste des taxons qui sont la référence. 484 * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment 485 * et ne 486 * plus l'être par la suite. 487 * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont 488 * référents à un moment mais ne peuvent plus l'être par la suite. 489 * Le fonctionnement dans la table TAXON_NAME est le suivant : 490 * - REF_TAXON_ID est toujours renseigné 491 * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il 492 * s'agit d'un 493 * taxon virtuel) 494 * - sinon c'est un synonyme 495 * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le 496 * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID 497 * NB : c'était le comportement initialement prévu. 498 * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2, 499 * le taxon 500 * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes 501 * et les 502 * résultats qu'il pouvait avoir). 503 * Ce mécanisme a été adopté car il fallait distinguer 2 cas : 504 * 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 505 * alors 506 * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres 507 * synonymes, résultats... 508 * 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 509 * qui 510 * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1 511 * pour 512 * R2 est nécessaire 513 * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on 514 * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les 515 * référents 516 * @return this.referenceTaxon ReferenceTaxon 517 */ 518 public ReferenceTaxon getReferenceTaxon() 519 { 520 return this.referenceTaxon; 521 } 522 523 /** 524 * Liste des taxons qui sont la référence. 525 * l'ID référent est indépendant des ID taxon car les taxons peuvent être référents à un moment 526 * et ne 527 * plus l'être par la suite. 528 * Toutes les données du système doivent donc être reliées au référent et non au taxon qui sont 529 * référents à un moment mais ne peuvent plus l'être par la suite. 530 * Le fonctionnement dans la table TAXON_NAME est le suivant : 531 * - REF_TAXON_ID est toujours renseigné 532 * - si TAXON_NAME_IS_REFER est à vrai, il s'agit d'un taxon référent (toujours le cas s'il 533 * s'agit d'un 534 * taxon virtuel) 535 * - sinon c'est un synonyme 536 * Un taxon référent qui devient synonyme voit donc son statut TAXON_NAME_IS_REFER changer et le 537 * nouveau taxon référent qui le remplace récupère l'information REF_TAXON_ID 538 * NB : c'était le comportement initialement prévu. 539 * En réalité, lorsqu'un taxon référent T1-R1 devient synonyme d'un nouveau taxon référent T2, 540 * le taxon 541 * T2 prend un nouveau code référent R2 et donc le taxon T1 est lié à R2 (et tous les synonymes 542 * et les 543 * résultats qu'il pouvait avoir). 544 * Ce mécanisme a été adopté car il fallait distinguer 2 cas : 545 * 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 546 * alors 547 * pu utiliser le même REF_TAXON_ID R1 au lieu d'en créer un et ne pas mettre à jour les autres 548 * synonymes, résultats... 549 * 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 550 * qui 551 * aurait déjà d'autres synonymes, résultats...), dans ce cas le remplacement de la référence R1 552 * pour 553 * R2 est nécessaire 554 * La modélisation pourrait être revue car la table REFENCE_TAXON ne se justifie alors plus, on 555 * pourrait directement utiliser une référence à la colonne TAXON_NAME_ID pour désigner les 556 * référents 557 * @param referenceTaxonIn ReferenceTaxon 558 */ 559 public void setReferenceTaxon(ReferenceTaxon referenceTaxonIn) 560 { 561 this.referenceTaxon = referenceTaxonIn; 562 } 563 564 private Collection<Batch> batches = new HashSet<Batch>(); 565 566 /** 567 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 568 * dans 569 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 570 * une 571 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 572 * structure) 573 * * un niveau Ce lot de mollusques est positionné sur le terrain. 574 * @return this.batches Collection<Batch> 575 */ 576 public Collection<Batch> getBatches() 577 { 578 return this.batches; 579 } 580 581 /** 582 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 583 * dans 584 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 585 * une 586 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 587 * structure) 588 * * un niveau Ce lot de mollusques est positionné sur le terrain. 589 * @param batchesIn Collection<Batch> 590 */ 591 public void setBatches(Collection<Batch> batchesIn) 592 { 593 this.batches = batchesIn; 594 } 595 596 /** 597 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 598 * dans 599 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 600 * une 601 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 602 * structure) 603 * * un niveau Ce lot de mollusques est positionné sur le terrain. 604 * @param elementToAdd Batch 605 * @return <tt>true</tt> if this collection changed as a result of the 606 * call 607 */ 608 public boolean addBatches(Batch elementToAdd) 609 { 610 return this.batches.add(elementToAdd); 611 } 612 613 /** 614 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 615 * dans 616 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 617 * une 618 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 619 * structure) 620 * * un niveau Ce lot de mollusques est positionné sur le terrain. 621 * @param elementToRemove Batch 622 * @return <tt>true</tt> if this collection changed as a result of the 623 * call 624 */ 625 public boolean removeBatches(Batch elementToRemove) 626 { 627 return this.batches.remove(elementToRemove); 628 } 629 630 private AgeGroup ageGroup; 631 632 /** 633 * Classe d'âge d'une population initiale 634 * @return this.ageGroup AgeGroup 635 */ 636 public AgeGroup getAgeGroup() 637 { 638 return this.ageGroup; 639 } 640 641 /** 642 * Classe d'âge d'une population initiale 643 * @param ageGroupIn AgeGroup 644 */ 645 public void setAgeGroup(AgeGroup ageGroupIn) 646 { 647 this.ageGroup = ageGroupIn; 648 } 649 650 private Collection<Quser> qusers = new HashSet<Quser>(); 651 652 /** 653 * Liste l'ensemble des agents et utilisateurs du système. 654 * @return this.qusers Collection<Quser> 655 */ 656 public Collection<Quser> getQusers() 657 { 658 return this.qusers; 659 } 660 661 /** 662 * Liste l'ensemble des agents et utilisateurs du système. 663 * @param qusersIn Collection<Quser> 664 */ 665 public void setQusers(Collection<Quser> qusersIn) 666 { 667 this.qusers = qusersIn; 668 } 669 670 /** 671 * Liste l'ensemble des agents et utilisateurs du système. 672 * @param elementToAdd Quser 673 * @return <tt>true</tt> if this collection changed as a result of the 674 * call 675 */ 676 public boolean addQusers(Quser elementToAdd) 677 { 678 return this.qusers.add(elementToAdd); 679 } 680 681 /** 682 * Liste l'ensemble des agents et utilisateurs du système. 683 * @param elementToRemove Quser 684 * @return <tt>true</tt> if this collection changed as a result of the 685 * call 686 */ 687 public boolean removeQusers(Quser elementToRemove) 688 { 689 return this.qusers.remove(elementToRemove); 690 } 691 692 /** 693 * Returns <code>true</code> if the argument is an InitialPopulation instance and all identifiers for this entity 694 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise. 695 */ 696 @Override 697 public boolean equals(Object object) 698 { 699 if (this == object) 700 { 701 return true; 702 } 703 if (!(object instanceof InitialPopulation)) 704 { 705 return false; 706 } 707 final InitialPopulation that = (InitialPopulation)object; 708 if (this.initPopId == null || that.getInitPopId() == null || !this.initPopId.equals(that.getInitPopId())) 709 { 710 return false; 711 } 712 return true; 713 } 714 715 /** 716 * Returns a hash code based on this entity's identifiers. 717 */ 718 @Override 719 public int hashCode() 720 { 721 int hashCode = 0; 722 hashCode = 29 * hashCode + (this.initPopId == null ? 0 : this.initPopId.hashCode()); 723 724 return hashCode; 725 } 726 727 /** 728 * Constructs new instances of {@link InitialPopulation}. 729 */ 730 public static final class Factory 731 { 732 /** 733 * Constructs a new instance of {@link InitialPopulation}. 734 * @return new InitialPopulationImpl() 735 */ 736 public static InitialPopulation newInstance() 737 { 738 return new InitialPopulationImpl(); 739 } 740 741 /** 742 * Constructs a new instance of {@link InitialPopulation}, taking all required and/or 743 * read-only properties as arguments, except for identifiers. 744 * @param initPopNm String 745 * @param initPopLb String 746 * @param initPopStartDt Date 747 * @param initPopBiometricIndivNb Double 748 * @param updateDt Timestamp 749 * @param qualityFlag QualityFlag 750 * @param referenceTaxon ReferenceTaxon 751 * @param ageGroup AgeGroup 752 * @return newInstance 753 */ 754 public static InitialPopulation newInstance(String initPopNm, String initPopLb, Date initPopStartDt, Double initPopBiometricIndivNb, Timestamp updateDt, QualityFlag qualityFlag, ReferenceTaxon referenceTaxon, AgeGroup ageGroup) 755 { 756 final InitialPopulation entity = new InitialPopulationImpl(); 757 entity.setInitPopNm(initPopNm); 758 entity.setInitPopLb(initPopLb); 759 entity.setInitPopStartDt(initPopStartDt); 760 entity.setInitPopBiometricIndivNb(initPopBiometricIndivNb); 761 entity.setUpdateDt(updateDt); 762 entity.setQualityFlag(qualityFlag); 763 entity.setReferenceTaxon(referenceTaxon); 764 entity.setAgeGroup(ageGroup); 765 return entity; 766 } 767 768 /** 769 * Constructs a new instance of {@link InitialPopulation}, taking all possible properties 770 * (except the identifier(s))as arguments. 771 * @param initPopNm String 772 * @param initPopLb String 773 * @param initPopCm String 774 * @param initPopQualifDt Date 775 * @param initPopQualifCm String 776 * @param initPopValidDt Date 777 * @param initPopControlDt Date 778 * @param initPopStartDt Date 779 * @param initPopBiometricIndivNb Double 780 * @param updateDt Timestamp 781 * @param ploidy Ploidy 782 * @param departments Collection<Department> 783 * @param historicalAccounts Collection<HistoricalAccount> 784 * @param programs Collection<Program> 785 * @param qualityFlag QualityFlag 786 * @param referenceTaxon ReferenceTaxon 787 * @param batches Collection<Batch> 788 * @param ageGroup AgeGroup 789 * @param qusers Collection<Quser> 790 * @return newInstance InitialPopulation 791 */ 792 public static InitialPopulation newInstance(String initPopNm, String initPopLb, String initPopCm, Date initPopQualifDt, String initPopQualifCm, Date initPopValidDt, Date initPopControlDt, Date initPopStartDt, Double initPopBiometricIndivNb, Timestamp updateDt, Ploidy ploidy, Collection<Department> departments, Collection<HistoricalAccount> historicalAccounts, Collection<Program> programs, QualityFlag qualityFlag, ReferenceTaxon referenceTaxon, Collection<Batch> batches, AgeGroup ageGroup, Collection<Quser> qusers) 793 { 794 final InitialPopulation entity = new InitialPopulationImpl(); 795 entity.setInitPopNm(initPopNm); 796 entity.setInitPopLb(initPopLb); 797 entity.setInitPopCm(initPopCm); 798 entity.setInitPopQualifDt(initPopQualifDt); 799 entity.setInitPopQualifCm(initPopQualifCm); 800 entity.setInitPopValidDt(initPopValidDt); 801 entity.setInitPopControlDt(initPopControlDt); 802 entity.setInitPopStartDt(initPopStartDt); 803 entity.setInitPopBiometricIndivNb(initPopBiometricIndivNb); 804 entity.setUpdateDt(updateDt); 805 entity.setPloidy(ploidy); 806 entity.setDepartments(departments); 807 entity.setHistoricalAccounts(historicalAccounts); 808 entity.setPrograms(programs); 809 entity.setQualityFlag(qualityFlag); 810 entity.setReferenceTaxon(referenceTaxon); 811 entity.setBatches(batches); 812 entity.setAgeGroup(ageGroup); 813 entity.setQusers(qusers); 814 return entity; 815 } 816 } 817 818 /** 819 * @see Comparable#compareTo 820 */ 821 public int compareTo(InitialPopulation o) 822 { 823 int cmp = 0; 824 if (this.getInitPopId() != null) 825 { 826 cmp = this.getInitPopId().compareTo(o.getInitPopId()); 827 } 828 else 829 { 830 if (this.getInitPopNm() != null) 831 { 832 cmp = (cmp != 0 ? cmp : this.getInitPopNm().compareTo(o.getInitPopNm())); 833 } 834 if (this.getInitPopLb() != null) 835 { 836 cmp = (cmp != 0 ? cmp : this.getInitPopLb().compareTo(o.getInitPopLb())); 837 } 838 if (this.getInitPopCm() != null) 839 { 840 cmp = (cmp != 0 ? cmp : this.getInitPopCm().compareTo(o.getInitPopCm())); 841 } 842 if (this.getInitPopQualifDt() != null) 843 { 844 cmp = (cmp != 0 ? cmp : this.getInitPopQualifDt().compareTo(o.getInitPopQualifDt())); 845 } 846 if (this.getInitPopQualifCm() != null) 847 { 848 cmp = (cmp != 0 ? cmp : this.getInitPopQualifCm().compareTo(o.getInitPopQualifCm())); 849 } 850 if (this.getInitPopValidDt() != null) 851 { 852 cmp = (cmp != 0 ? cmp : this.getInitPopValidDt().compareTo(o.getInitPopValidDt())); 853 } 854 if (this.getInitPopControlDt() != null) 855 { 856 cmp = (cmp != 0 ? cmp : this.getInitPopControlDt().compareTo(o.getInitPopControlDt())); 857 } 858 if (this.getInitPopStartDt() != null) 859 { 860 cmp = (cmp != 0 ? cmp : this.getInitPopStartDt().compareTo(o.getInitPopStartDt())); 861 } 862 if (this.getInitPopBiometricIndivNb() != null) 863 { 864 cmp = (cmp != 0 ? cmp : this.getInitPopBiometricIndivNb().compareTo(o.getInitPopBiometricIndivNb())); 865 } 866 if (this.getUpdateDt() != null) 867 { 868 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt())); 869 } 870 } 871 return cmp; 872 } 873 // HibernateEntity.vsl merge-point 874 // InitialPopulation.java merge-point 875 }