001// license-header java merge-point 002// 003// Attention: Generated code! Do not modify by hand! 004// Generated by: hibernate/HibernateEntity.vsl in andromda-hibernate-cartridge. 005// 006package fr.ifremer.adagio.core.dao.data.transshipment; 007 008/* 009 * #%L 010 * SIH-Adagio :: Core 011 * $Id:$ 012 * $HeadURL:$ 013 * %% 014 * Copyright (C) 2012 - 2014 Ifremer 015 * %% 016 * This program is free software: you can redistribute it and/or modify 017 * it under the terms of the GNU Affero General Public License as published by 018 * the Free Software Foundation, either version 3 of the License, or 019 * (at your option) any later version. 020 * 021 * This program is distributed in the hope that it will be useful, 022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 024 * GNU General Public License for more details. 025 * 026 * You should have received a copy of the GNU Affero General Public License 027 * along with this program. If not, see <http://www.gnu.org/licenses/>. 028 * #L% 029 */ 030 031import com.vividsolutions.jts.geom.Point; 032import fr.ifremer.adagio.core.dao.administration.programStrategy.Program; 033import fr.ifremer.adagio.core.dao.administration.user.Department; 034import fr.ifremer.adagio.core.dao.administration.user.Person; 035import fr.ifremer.adagio.core.dao.data.measure.SurveyMeasurement; 036import fr.ifremer.adagio.core.dao.data.produce.Produce; 037import fr.ifremer.adagio.core.dao.data.survey.fishingTrip.FishingTrip; 038import fr.ifremer.adagio.core.dao.data.vessel.Vessel; 039import fr.ifremer.adagio.core.dao.referential.QualityFlag; 040import fr.ifremer.adagio.core.dao.referential.location.Location; 041import java.io.Serializable; 042import java.sql.Timestamp; 043import java.util.Collection; 044import java.util.Date; 045import java.util.HashSet; 046 047/** 048 * Transbordement d'un produit (capturé) d'un navire à l'autre. 049 * Pour connaitre le navire d'origine des produits (celui qui les possédait avant le 050 * transbordement), il faut utiliser les liens vers FishingTrip ou MetaFishingTrip, qui possèdent un 051 * lien vers Vessel. 052 */ 053// HibernateEntity.vsl annotations merge-point 054public abstract class Transshipment 055 implements Serializable, Comparable<Transshipment> 056{ 057 /** 058 * The serial version UID of this class. Needed for serialization. 059 */ 060 private static final long serialVersionUID = -9036633644849422358L; 061 062 // Generate 10 attributes 063 private Integer id; 064 065 /** 066 * Idenfiant interne. Généré par le système. 067 * @return this.id Integer 068 */ 069 public Integer getId() 070 { 071 return this.id; 072 } 073 074 /** 075 * Idenfiant interne. Généré par le système. 076 * @param idIn Integer 077 */ 078 public void setId(Integer idIn) 079 { 080 this.id = idIn; 081 } 082 083 private Date transshipmentDateTime; 084 085 /** 086 * Rang du transbordement, utilisé quand plusieurs transbordements ont eu lieu le meme jour pour 087 * une meme navire, et que l'heure de landingDateTime ne permet pas de distinguer les 088 * transbordements entre eux. 089 * Utiliser pour SACAPT : l'ordre es alors celui de présence dans le fichier d'origine. 090 * @return this.transshipmentDateTime Date 091 */ 092 public Date getTransshipmentDateTime() 093 { 094 return this.transshipmentDateTime; 095 } 096 097 /** 098 * Rang du transbordement, utilisé quand plusieurs transbordements ont eu lieu le meme jour pour 099 * une meme navire, et que l'heure de landingDateTime ne permet pas de distinguer les 100 * transbordements entre eux. 101 * Utiliser pour SACAPT : l'ordre es alors celui de présence dans le fichier d'origine. 102 * @param transshipmentDateTimeIn Date 103 */ 104 public void setTransshipmentDateTime(Date transshipmentDateTimeIn) 105 { 106 this.transshipmentDateTime = transshipmentDateTimeIn; 107 } 108 109 private Short rankOrder; 110 111 /** 112 * <html> 113 * <head> 114 * </head> 115 * <body> 116 * <p> 117 * Rang du transbordement, utilisé quand plusieurs transbordements ont 118 * eu lieu le meme jour pour une meme navire, et que l'heure de <i>landingDateTime</i> 119 * ne permet pas de distinguer les débarquement entre eux.<br><br>Utiliser 120 * pour SACAPT : l'ordre es alors celui de présence dans le fichier 121 * d'origine. 122 * </p> 123 * </body> 124 * </html> 125 * @return this.rankOrder Short 126 */ 127 public Short getRankOrder() 128 { 129 return this.rankOrder; 130 } 131 132 /** 133 * <html> 134 * <head> 135 * </head> 136 * <body> 137 * <p> 138 * Rang du transbordement, utilisé quand plusieurs transbordements ont 139 * eu lieu le meme jour pour une meme navire, et que l'heure de <i>landingDateTime</i> 140 * ne permet pas de distinguer les débarquement entre eux.<br><br>Utiliser 141 * pour SACAPT : l'ordre es alors celui de présence dans le fichier 142 * d'origine. 143 * </p> 144 * </body> 145 * </html> 146 * @param rankOrderIn Short 147 */ 148 public void setRankOrder(Short rankOrderIn) 149 { 150 this.rankOrder = rankOrderIn; 151 } 152 153 private String comments; 154 155 /** 156 * 157 * @return this.comments String 158 */ 159 public String getComments() 160 { 161 return this.comments; 162 } 163 164 /** 165 * 166 * @param commentsIn String 167 */ 168 public void setComments(String commentsIn) 169 { 170 this.comments = commentsIn; 171 } 172 173 private Date creationDate; 174 175 /** 176 * 177 * @return this.creationDate Date 178 */ 179 public Date getCreationDate() 180 { 181 return this.creationDate; 182 } 183 184 /** 185 * 186 * @param creationDateIn Date 187 */ 188 public void setCreationDate(Date creationDateIn) 189 { 190 this.creationDate = creationDateIn; 191 } 192 193 private Date controlDate; 194 195 /** 196 * 197 * @return this.controlDate Date 198 */ 199 public Date getControlDate() 200 { 201 return this.controlDate; 202 } 203 204 /** 205 * 206 * @param controlDateIn Date 207 */ 208 public void setControlDate(Date controlDateIn) 209 { 210 this.controlDate = controlDateIn; 211 } 212 213 private Date qualificationDate; 214 215 /** 216 * 217 * @return this.qualificationDate Date 218 */ 219 public Date getQualificationDate() 220 { 221 return this.qualificationDate; 222 } 223 224 /** 225 * 226 * @param qualificationDateIn Date 227 */ 228 public void setQualificationDate(Date qualificationDateIn) 229 { 230 this.qualificationDate = qualificationDateIn; 231 } 232 233 private String qualificationComments; 234 235 /** 236 * 237 * @return this.qualificationComments String 238 */ 239 public String getQualificationComments() 240 { 241 return this.qualificationComments; 242 } 243 244 /** 245 * 246 * @param qualificationCommentsIn String 247 */ 248 public void setQualificationComments(String qualificationCommentsIn) 249 { 250 this.qualificationComments = qualificationCommentsIn; 251 } 252 253 private Timestamp updateDate; 254 255 /** 256 * 257 * @return this.updateDate Timestamp 258 */ 259 public Timestamp getUpdateDate() 260 { 261 return this.updateDate; 262 } 263 264 /** 265 * 266 * @param updateDateIn Timestamp 267 */ 268 public void setUpdateDate(Timestamp updateDateIn) 269 { 270 this.updateDate = updateDateIn; 271 } 272 273 private Point position; 274 275 /** 276 * Geometry of the transshipment (Point) 277 * @return this.position Point 278 */ 279 public Point getPosition() 280 { 281 return this.position; 282 } 283 284 /** 285 * Geometry of the transshipment (Point) 286 * @param positionIn Point 287 */ 288 public void setPosition(Point positionIn) 289 { 290 this.position = positionIn; 291 } 292 293 // Generate 10 associations 294 private Vessel toVessel; 295 296 /** 297 * Navire vers lequel le transbordement a été réalisé. 298 * @return this.toVessel Vessel 299 */ 300 public Vessel getToVessel() 301 { 302 return this.toVessel; 303 } 304 305 /** 306 * Navire vers lequel le transbordement a été réalisé. 307 * @param toVesselIn Vessel 308 */ 309 public void setToVessel(Vessel toVesselIn) 310 { 311 this.toVessel = toVesselIn; 312 } 313 314 private Location transshipmentLocation; 315 316 /** 317 * Zone ou port dans lequel se fait le transbordement. 318 * Non renseigné dans SACAPT 319 * @return this.transshipmentLocation Location 320 */ 321 public Location getTransshipmentLocation() 322 { 323 return this.transshipmentLocation; 324 } 325 326 /** 327 * Zone ou port dans lequel se fait le transbordement. 328 * Non renseigné dans SACAPT 329 * @param transshipmentLocationIn Location 330 */ 331 public void setTransshipmentLocation(Location transshipmentLocationIn) 332 { 333 this.transshipmentLocation = transshipmentLocationIn; 334 } 335 336 private QualityFlag qualityFlag; 337 338 /** 339 * Indice qualité d'une donnée. 340 * Actuellement, les indices qualités identifiés sont : 341 * 0 - Non qualifiée, 342 * 1 - Bonne, 343 * 2 - Hors statistiques, 344 * 3 - Douteuse, 345 * 4 - Fausse, 346 * 5 - Corrigée, 347 * 8 - Incomplète, 348 * 9 - Absente. 349 * @return this.qualityFlag QualityFlag 350 */ 351 public QualityFlag getQualityFlag() 352 { 353 return this.qualityFlag; 354 } 355 356 /** 357 * Indice qualité d'une donnée. 358 * Actuellement, les indices qualités identifiés sont : 359 * 0 - Non qualifiée, 360 * 1 - Bonne, 361 * 2 - Hors statistiques, 362 * 3 - Douteuse, 363 * 4 - Fausse, 364 * 5 - Corrigée, 365 * 8 - Incomplète, 366 * 9 - Absente. 367 * @param qualityFlagIn QualityFlag 368 */ 369 public void setQualityFlag(QualityFlag qualityFlagIn) 370 { 371 this.qualityFlag = qualityFlagIn; 372 } 373 374 private Department recorderDepartment; 375 376 /** 377 * Service d'appartenance d'une personne. 378 * Il peut s'agir des départements et service de l'Ifremer, ou bien des entreprises, services 379 * extérieurs (sous-traitants, etc.). 380 * REMARQUE : nous en aurons besoin en v2, pour l'administration des personnes (rechercher une 381 * personne, gérer les sous-traitants, etc.), mais aussi pour identifier le service effectuant 382 * l’analyse d’un résultat de mesure. 383 * Nombre de lignes : 60 384 * @return this.recorderDepartment Department 385 */ 386 public Department getRecorderDepartment() 387 { 388 return this.recorderDepartment; 389 } 390 391 /** 392 * Service d'appartenance d'une personne. 393 * Il peut s'agir des départements et service de l'Ifremer, ou bien des entreprises, services 394 * extérieurs (sous-traitants, etc.). 395 * REMARQUE : nous en aurons besoin en v2, pour l'administration des personnes (rechercher une 396 * personne, gérer les sous-traitants, etc.), mais aussi pour identifier le service effectuant 397 * l’analyse d’un résultat de mesure. 398 * Nombre de lignes : 60 399 * @param recorderDepartmentIn Department 400 */ 401 public void setRecorderDepartment(Department recorderDepartmentIn) 402 { 403 this.recorderDepartment = recorderDepartmentIn; 404 } 405 406 private Vessel fromVessel; 407 408 /** 409 * Navire, ou plus généralement un usager de la ressource. 410 * Peut etre un navire de peche professionnel ou non, un navire scientifique, un pêcheur à pied, 411 * un 412 * groupement de navires, etc. 413 * @return this.fromVessel Vessel 414 */ 415 public Vessel getFromVessel() 416 { 417 return this.fromVessel; 418 } 419 420 /** 421 * Navire, ou plus généralement un usager de la ressource. 422 * Peut etre un navire de peche professionnel ou non, un navire scientifique, un pêcheur à pied, 423 * un 424 * groupement de navires, etc. 425 * @param fromVesselIn Vessel 426 */ 427 public void setFromVessel(Vessel fromVesselIn) 428 { 429 this.fromVessel = fromVesselIn; 430 } 431 432 private Person recorderPerson; 433 434 /** 435 * <html> 436 * <head> 437 * <style> 438 * p {padding:0px; margin:0px;} 439 * </style> 440 * </head> 441 * <body> 442 * <p> 443 * Personne liées aux données : utilisateur du système, ou observateurs, 444 * responsable de données, etc. 445 * </p> 446 * <p> 447 * </p> 448 * <p> 449 * Les personnes liées aux activités professionnelles de pêche sont plutôt 450 * gérer dans <i>VesselPerson</i>. 451 * </p> 452 * <p> 453 * </p> 454 * <p> 455 * Nombre de lignes : 100 456 * </p> 457 * </body> 458 * </html> 459 * @return this.recorderPerson Person 460 */ 461 public Person getRecorderPerson() 462 { 463 return this.recorderPerson; 464 } 465 466 /** 467 * <html> 468 * <head> 469 * <style> 470 * p {padding:0px; margin:0px;} 471 * </style> 472 * </head> 473 * <body> 474 * <p> 475 * Personne liées aux données : utilisateur du système, ou observateurs, 476 * responsable de données, etc. 477 * </p> 478 * <p> 479 * </p> 480 * <p> 481 * Les personnes liées aux activités professionnelles de pêche sont plutôt 482 * gérer dans <i>VesselPerson</i>. 483 * </p> 484 * <p> 485 * </p> 486 * <p> 487 * Nombre de lignes : 100 488 * </p> 489 * </body> 490 * </html> 491 * @param recorderPersonIn Person 492 */ 493 public void setRecorderPerson(Person recorderPersonIn) 494 { 495 this.recorderPerson = recorderPersonIn; 496 } 497 498 private Collection<SurveyMeasurement> surveyMeasurements = new HashSet<SurveyMeasurement>(); 499 500 /** 501 * 502 * @return this.surveyMeasurements Collection<SurveyMeasurement> 503 */ 504 public Collection<SurveyMeasurement> getSurveyMeasurements() 505 { 506 return this.surveyMeasurements; 507 } 508 509 /** 510 * 511 * @param surveyMeasurementsIn Collection<SurveyMeasurement> 512 */ 513 public void setSurveyMeasurements(Collection<SurveyMeasurement> surveyMeasurementsIn) 514 { 515 this.surveyMeasurements = surveyMeasurementsIn; 516 } 517 518 /** 519 * 520 * @param elementToAdd SurveyMeasurement 521 * @return <tt>true</tt> if this collection changed as a result of the 522 * call 523 */ 524 public boolean addSurveyMeasurements(SurveyMeasurement elementToAdd) 525 { 526 return this.surveyMeasurements.add(elementToAdd); 527 } 528 529 /** 530 * 531 * @param elementToRemove SurveyMeasurement 532 * @return <tt>true</tt> if this collection changed as a result of the 533 * call 534 */ 535 public boolean removeSurveyMeasurements(SurveyMeasurement elementToRemove) 536 { 537 return this.surveyMeasurements.remove(elementToRemove); 538 } 539 540 private Collection<Produce> produces = new HashSet<Produce>(); 541 542 /** 543 * Listes de produits transbordés. 544 * @return this.produces Collection<Produce> 545 */ 546 public Collection<Produce> getProduces() 547 { 548 return this.produces; 549 } 550 551 /** 552 * Listes de produits transbordés. 553 * @param producesIn Collection<Produce> 554 */ 555 public void setProduces(Collection<Produce> producesIn) 556 { 557 this.produces = producesIn; 558 } 559 560 /** 561 * Listes de produits transbordés. 562 * @param elementToAdd Produce 563 * @return <tt>true</tt> if this collection changed as a result of the 564 * call 565 */ 566 public boolean addProduces(Produce elementToAdd) 567 { 568 return this.produces.add(elementToAdd); 569 } 570 571 /** 572 * Listes de produits transbordés. 573 * @param elementToRemove Produce 574 * @return <tt>true</tt> if this collection changed as a result of the 575 * call 576 */ 577 public boolean removeProduces(Produce elementToRemove) 578 { 579 return this.produces.remove(elementToRemove); 580 } 581 582 private FishingTrip fishingTrip; 583 584 /** 585 * Voyage en mer, ayant pour vocation une activité de peche (peut etre une campagnes halieutique 586 * ou une 587 * marée d'un navire professionnel, etc.) 588 * Un voyage peut représenter type de données : 589 * - Une marée observée (en mer, au débarquement), qui désigne une marée de pêche 590 * professionnelle au 591 * cours de laquelle des relevés sont effectués par un observateur. 592 * - Une marée déclarée. Principalement issue du log book électronique (flux SACAPT). Une marée 593 * déclarée peut etre un ensemble de marée ou de sous-ensembles de marée (Exemple de la fiche de 594 * peche) 595 * - une sortie effectuée lors d"une campagne scientifique 596 * @return this.fishingTrip FishingTrip 597 */ 598 public FishingTrip getFishingTrip() 599 { 600 return this.fishingTrip; 601 } 602 603 /** 604 * Voyage en mer, ayant pour vocation une activité de peche (peut etre une campagnes halieutique 605 * ou une 606 * marée d'un navire professionnel, etc.) 607 * Un voyage peut représenter type de données : 608 * - Une marée observée (en mer, au débarquement), qui désigne une marée de pêche 609 * professionnelle au 610 * cours de laquelle des relevés sont effectués par un observateur. 611 * - Une marée déclarée. Principalement issue du log book électronique (flux SACAPT). Une marée 612 * déclarée peut etre un ensemble de marée ou de sous-ensembles de marée (Exemple de la fiche de 613 * peche) 614 * - une sortie effectuée lors d"une campagne scientifique 615 * @param fishingTripIn FishingTrip 616 */ 617 public void setFishingTrip(FishingTrip fishingTripIn) 618 { 619 this.fishingTrip = fishingTripIn; 620 } 621 622 private Program program; 623 624 /** 625 * Programme d'observation à l'origine d'une collecte de données. 626 * Désigne les activités qui sont à l'origine de la collecte d'un ensemble cohérent de données, 627 * que ce 628 * soit pour des collectes continues (marées observées en mer, SIPA) ou pour des études limitées 629 * dans 630 * le temps. La quantité de données rattachées à un programme peut être variable, selon qu'il 631 * s'agit 632 * d'une activité longue ou intensive, ou d'une opération plus ponctuelle (étude) mais toujours 633 * mise en 634 * œuvre selon un schéma décidé à l'avance. 635 * Exemple de programmes d'observations : 636 * - SIH-OBSMER (marées observées en mer) 637 * - SIH-STATPECHE (enquete d'activité et d'effort...) 638 * - SIPA : données déclaratives transmises par la DPMA 639 * - VMS : données satellitaires 640 * - OFIMER : données du SI de l'OFIMER 641 * @return this.program Program 642 */ 643 public Program getProgram() 644 { 645 return this.program; 646 } 647 648 /** 649 * Programme d'observation à l'origine d'une collecte de données. 650 * Désigne les activités qui sont à l'origine de la collecte d'un ensemble cohérent de données, 651 * que ce 652 * soit pour des collectes continues (marées observées en mer, SIPA) ou pour des études limitées 653 * dans 654 * le temps. La quantité de données rattachées à un programme peut être variable, selon qu'il 655 * s'agit 656 * d'une activité longue ou intensive, ou d'une opération plus ponctuelle (étude) mais toujours 657 * mise en 658 * œuvre selon un schéma décidé à l'avance. 659 * Exemple de programmes d'observations : 660 * - SIH-OBSMER (marées observées en mer) 661 * - SIH-STATPECHE (enquete d'activité et d'effort...) 662 * - SIPA : données déclaratives transmises par la DPMA 663 * - VMS : données satellitaires 664 * - OFIMER : données du SI de l'OFIMER 665 * @param programIn Program 666 */ 667 public void setProgram(Program programIn) 668 { 669 this.program = programIn; 670 } 671 672 /** 673 * Returns <code>true</code> if the argument is an Transshipment instance and all identifiers for this entity 674 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise. 675 */ 676 @Override 677 public boolean equals(Object object) 678 { 679 if (this == object) 680 { 681 return true; 682 } 683 if (!(object instanceof Transshipment)) 684 { 685 return false; 686 } 687 final Transshipment that = (Transshipment)object; 688 if (this.id == null || that.getId() == null || !this.id.equals(that.getId())) 689 { 690 return false; 691 } 692 return true; 693 } 694 695 /** 696 * Returns a hash code based on this entity's identifiers. 697 */ 698 @Override 699 public int hashCode() 700 { 701 int hashCode = 0; 702 hashCode = 29 * hashCode + (this.id == null ? 0 : this.id.hashCode()); 703 704 return hashCode; 705 } 706 707 /** 708 * Constructs new instances of {@link Transshipment}. 709 */ 710 public static final class Factory 711 { 712 /** 713 * Constructs a new instance of {@link Transshipment}. 714 * @return new TransshipmentImpl() 715 */ 716 public static Transshipment newInstance() 717 { 718 return new TransshipmentImpl(); 719 } 720 721 /** 722 * Constructs a new instance of {@link Transshipment}, taking all required and/or 723 * read-only properties as arguments, except for identifiers. 724 * @param transshipmentDateTime Date 725 * @param creationDate Date 726 * @param updateDate Timestamp 727 * @param toVessel Vessel 728 * @param qualityFlag QualityFlag 729 * @param recorderDepartment Department 730 * @param fromVessel Vessel 731 * @param program Program 732 * @return newInstance 733 */ 734 public static Transshipment newInstance(Date transshipmentDateTime, Date creationDate, Timestamp updateDate, Vessel toVessel, QualityFlag qualityFlag, Department recorderDepartment, Vessel fromVessel, Program program) 735 { 736 final Transshipment entity = new TransshipmentImpl(); 737 entity.setTransshipmentDateTime(transshipmentDateTime); 738 entity.setCreationDate(creationDate); 739 entity.setUpdateDate(updateDate); 740 entity.setToVessel(toVessel); 741 entity.setQualityFlag(qualityFlag); 742 entity.setRecorderDepartment(recorderDepartment); 743 entity.setFromVessel(fromVessel); 744 entity.setProgram(program); 745 return entity; 746 } 747 748 /** 749 * Constructs a new instance of {@link Transshipment}, taking all possible properties 750 * (except the identifier(s))as arguments. 751 * @param transshipmentDateTime Date 752 * @param rankOrder Short 753 * @param comments String 754 * @param creationDate Date 755 * @param controlDate Date 756 * @param qualificationDate Date 757 * @param qualificationComments String 758 * @param updateDate Timestamp 759 * @param position Point 760 * @param toVessel Vessel 761 * @param transshipmentLocation Location 762 * @param qualityFlag QualityFlag 763 * @param recorderDepartment Department 764 * @param fromVessel Vessel 765 * @param recorderPerson Person 766 * @param surveyMeasurements Collection<SurveyMeasurement> 767 * @param produces Collection<Produce> 768 * @param fishingTrip FishingTrip 769 * @param program Program 770 * @return newInstance Transshipment 771 */ 772 public static Transshipment newInstance(Date transshipmentDateTime, Short rankOrder, String comments, Date creationDate, Date controlDate, Date qualificationDate, String qualificationComments, Timestamp updateDate, Point position, Vessel toVessel, Location transshipmentLocation, QualityFlag qualityFlag, Department recorderDepartment, Vessel fromVessel, Person recorderPerson, Collection<SurveyMeasurement> surveyMeasurements, Collection<Produce> produces, FishingTrip fishingTrip, Program program) 773 { 774 final Transshipment entity = new TransshipmentImpl(); 775 entity.setTransshipmentDateTime(transshipmentDateTime); 776 entity.setRankOrder(rankOrder); 777 entity.setComments(comments); 778 entity.setCreationDate(creationDate); 779 entity.setControlDate(controlDate); 780 entity.setQualificationDate(qualificationDate); 781 entity.setQualificationComments(qualificationComments); 782 entity.setUpdateDate(updateDate); 783 entity.setPosition(position); 784 entity.setToVessel(toVessel); 785 entity.setTransshipmentLocation(transshipmentLocation); 786 entity.setQualityFlag(qualityFlag); 787 entity.setRecorderDepartment(recorderDepartment); 788 entity.setFromVessel(fromVessel); 789 entity.setRecorderPerson(recorderPerson); 790 entity.setSurveyMeasurements(surveyMeasurements); 791 entity.setProduces(produces); 792 entity.setFishingTrip(fishingTrip); 793 entity.setProgram(program); 794 return entity; 795 } 796 } 797 798 /** 799 * @see Comparable#compareTo 800 */ 801 public int compareTo(Transshipment o) 802 { 803 int cmp = 0; 804 if (this.getId() != null) 805 { 806 cmp = this.getId().compareTo(o.getId()); 807 } 808 else 809 { 810 if (this.getTransshipmentDateTime() != null) 811 { 812 cmp = (cmp != 0 ? cmp : this.getTransshipmentDateTime().compareTo(o.getTransshipmentDateTime())); 813 } 814 if (this.getRankOrder() != null) 815 { 816 cmp = (cmp != 0 ? cmp : this.getRankOrder().compareTo(o.getRankOrder())); 817 } 818 if (this.getComments() != null) 819 { 820 cmp = (cmp != 0 ? cmp : this.getComments().compareTo(o.getComments())); 821 } 822 if (this.getCreationDate() != null) 823 { 824 cmp = (cmp != 0 ? cmp : this.getCreationDate().compareTo(o.getCreationDate())); 825 } 826 if (this.getControlDate() != null) 827 { 828 cmp = (cmp != 0 ? cmp : this.getControlDate().compareTo(o.getControlDate())); 829 } 830 if (this.getQualificationDate() != null) 831 { 832 cmp = (cmp != 0 ? cmp : this.getQualificationDate().compareTo(o.getQualificationDate())); 833 } 834 if (this.getQualificationComments() != null) 835 { 836 cmp = (cmp != 0 ? cmp : this.getQualificationComments().compareTo(o.getQualificationComments())); 837 } 838 if (this.getUpdateDate() != null) 839 { 840 cmp = (cmp != 0 ? cmp : this.getUpdateDate().compareTo(o.getUpdateDate())); 841 } 842 if (this.getPosition() != null) 843 { 844 cmp = (cmp != 0 ? cmp : this.getPosition().compareTo(o.getPosition())); 845 } 846 } 847 return cmp; 848 } 849// HibernateEntity.vsl merge-point 850// Transshipment.java merge-point 851}