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.referential.taxon;
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.referential.Status;
30  import fr.ifremer.quadrige2.core.dao.sandre.SandreTaxonomicLevelExp;
31  import fr.ifremer.quadrige2.core.dao.sandre.SandreTaxonomicLevelImp;
32  import java.io.Serializable;
33  import java.sql.Timestamp;
34  import java.util.Collection;
35  import java.util.Date;
36  import java.util.HashSet;
37  
38  /**
39   * Liste des niveaux systématiques des taxons.
40   */
41  // HibernateEntity.vsl annotations merge-point
42  public abstract class TaxonomicLevel
43      implements Serializable, Comparable<TaxonomicLevel>
44  {
45      /**
46       * The serial version UID of this class. Needed for serialization.
47       */
48      private static final long serialVersionUID = 8938493529641518748L;
49  
50      // Generate 7 attributes
51      private String taxLevelCd;
52  
53      /**
54       * Code identifiant de façon unique le niveau
55       * @return this.taxLevelCd String
56       */
57      public String getTaxLevelCd()
58      {
59          return this.taxLevelCd;
60      }
61  
62      /**
63       * Code identifiant de façon unique le niveau
64       * @param taxLevelCdIn String
65       */
66      public void setTaxLevelCd(String taxLevelCdIn)
67      {
68          this.taxLevelCd = taxLevelCdIn;
69      }
70  
71      private Double taxLevelNb;
72  
73      /**
74       * Numéro du rang taxinomique. décroissant du règne vers l'espèce
75       * Ceci permet de limiter le choix des niveaux fils aux numéros inférieurs
76       * @return this.taxLevelNb Double
77       */
78      public Double getTaxLevelNb()
79      {
80          return this.taxLevelNb;
81      }
82  
83      /**
84       * Numéro du rang taxinomique. décroissant du règne vers l'espèce
85       * Ceci permet de limiter le choix des niveaux fils aux numéros inférieurs
86       * @param taxLevelNbIn Double
87       */
88      public void setTaxLevelNb(Double taxLevelNbIn)
89      {
90          this.taxLevelNb = taxLevelNbIn;
91      }
92  
93      private String taxLevelNm;
94  
95      /**
96       * Libellé du niveau du taxon
97       * @return this.taxLevelNm String
98       */
99      public String getTaxLevelNm()
100     {
101         return this.taxLevelNm;
102     }
103 
104     /**
105      * Libellé du niveau du taxon
106      * @param taxLevelNmIn String
107      */
108     public void setTaxLevelNm(String taxLevelNmIn)
109     {
110         this.taxLevelNm = taxLevelNmIn;
111     }
112 
113     private String taxLevelLb;
114 
115     /**
116      * Mnémonique du niveau du taxon
117      * @return this.taxLevelLb String
118      */
119     public String getTaxLevelLb()
120     {
121         return this.taxLevelLb;
122     }
123 
124     /**
125      * Mnémonique du niveau du taxon
126      * @param taxLevelLbIn String
127      */
128     public void setTaxLevelLb(String taxLevelLbIn)
129     {
130         this.taxLevelLb = taxLevelLbIn;
131     }
132 
133     private String taxLevelCm;
134 
135     /**
136      * Commentaire décrivant le niveau du taxon
137      * @return this.taxLevelCm String
138      */
139     public String getTaxLevelCm()
140     {
141         return this.taxLevelCm;
142     }
143 
144     /**
145      * Commentaire décrivant le niveau du taxon
146      * @param taxLevelCmIn String
147      */
148     public void setTaxLevelCm(String taxLevelCmIn)
149     {
150         this.taxLevelCm = taxLevelCmIn;
151     }
152 
153     private Date taxLevelCreationDt;
154 
155     /**
156      * Date de création de l'objet
157      * @return this.taxLevelCreationDt Date
158      */
159     public Date getTaxLevelCreationDt()
160     {
161         return this.taxLevelCreationDt;
162     }
163 
164     /**
165      * Date de création de l'objet
166      * @param taxLevelCreationDtIn Date
167      */
168     public void setTaxLevelCreationDt(Date taxLevelCreationDtIn)
169     {
170         this.taxLevelCreationDt = taxLevelCreationDtIn;
171     }
172 
173     private Timestamp updateDt;
174 
175     /**
176      * Date de mise à jour de l'objet
177      * @return this.updateDt Timestamp
178      */
179     public Timestamp getUpdateDt()
180     {
181         return this.updateDt;
182     }
183 
184     /**
185      * Date de mise à jour de l'objet
186      * @param updateDtIn Timestamp
187      */
188     public void setUpdateDt(Timestamp updateDtIn)
189     {
190         this.updateDt = updateDtIn;
191     }
192 
193     // Generate 4 associations
194     private Status status;
195 
196     /**
197      * Liste des états possibles d'un objet.
198      * @return this.status Status
199      */
200     public Status getStatus()
201     {
202         return this.status;
203     }
204 
205     /**
206      * Liste des états possibles d'un objet.
207      * @param statusIn Status
208      */
209     public void setStatus(Status statusIn)
210     {
211         this.status = statusIn;
212     }
213 
214     private Collection<SandreTaxonomicLevelImp> sandreTaxonomicLevelImpIds = new HashSet<SandreTaxonomicLevelImp>();
215 
216     /**
217      * Niveaux taxinomiques Sandre pour les imports de données
218      * @return this.sandreTaxonomicLevelImpIds Collection<SandreTaxonomicLevelImp>
219      */
220     public Collection<SandreTaxonomicLevelImp> getSandreTaxonomicLevelImpIds()
221     {
222         return this.sandreTaxonomicLevelImpIds;
223     }
224 
225     /**
226      * Niveaux taxinomiques Sandre pour les imports de données
227      * @param sandreTaxonomicLevelImpIdsIn Collection<SandreTaxonomicLevelImp>
228      */
229     public void setSandreTaxonomicLevelImpIds(Collection<SandreTaxonomicLevelImp> sandreTaxonomicLevelImpIdsIn)
230     {
231         this.sandreTaxonomicLevelImpIds = sandreTaxonomicLevelImpIdsIn;
232     }
233 
234     /**
235      * Niveaux taxinomiques Sandre pour les imports de données
236      * @param elementToAdd SandreTaxonomicLevelImp
237      * @return <tt>true</tt> if this collection changed as a result of the
238      *         call
239      */
240     public boolean addSandreTaxonomicLevelImpIds(SandreTaxonomicLevelImp elementToAdd)
241     {
242         return this.sandreTaxonomicLevelImpIds.add(elementToAdd);
243     }
244 
245     /**
246      * Niveaux taxinomiques Sandre pour les imports de données
247      * @param elementToRemove SandreTaxonomicLevelImp
248      * @return <tt>true</tt> if this collection changed as a result of the
249      *         call
250      */
251     public boolean removeSandreTaxonomicLevelImpIds(SandreTaxonomicLevelImp elementToRemove)
252     {
253         return this.sandreTaxonomicLevelImpIds.remove(elementToRemove);
254     }
255 
256     private Collection<TaxonName> taxonNames = new HashSet<TaxonName>();
257 
258     /**
259      * Liste les taxons (interface avec ERMS)
260      * @return this.taxonNames Collection<TaxonName>
261      */
262     public Collection<TaxonName> getTaxonNames()
263     {
264         return this.taxonNames;
265     }
266 
267     /**
268      * Liste les taxons (interface avec ERMS)
269      * @param taxonNamesIn Collection<TaxonName>
270      */
271     public void setTaxonNames(Collection<TaxonName> taxonNamesIn)
272     {
273         this.taxonNames = taxonNamesIn;
274     }
275 
276     /**
277      * Liste les taxons (interface avec ERMS)
278      * @param elementToAdd TaxonName
279      * @return <tt>true</tt> if this collection changed as a result of the
280      *         call
281      */
282     public boolean addTaxonNames(TaxonName elementToAdd)
283     {
284         return this.taxonNames.add(elementToAdd);
285     }
286 
287     /**
288      * Liste les taxons (interface avec ERMS)
289      * @param elementToRemove TaxonName
290      * @return <tt>true</tt> if this collection changed as a result of the
291      *         call
292      */
293     public boolean removeTaxonNames(TaxonName elementToRemove)
294     {
295         return this.taxonNames.remove(elementToRemove);
296     }
297 
298     private Collection<SandreTaxonomicLevelExp> sandreTaxonomicLevelExpIds = new HashSet<SandreTaxonomicLevelExp>();
299 
300     /**
301      * Niveaux taxinomiques Sandre pour les exports de données
302      * @return this.sandreTaxonomicLevelExpIds Collection<SandreTaxonomicLevelExp>
303      */
304     public Collection<SandreTaxonomicLevelExp> getSandreTaxonomicLevelExpIds()
305     {
306         return this.sandreTaxonomicLevelExpIds;
307     }
308 
309     /**
310      * Niveaux taxinomiques Sandre pour les exports de données
311      * @param sandreTaxonomicLevelExpIdsIn Collection<SandreTaxonomicLevelExp>
312      */
313     public void setSandreTaxonomicLevelExpIds(Collection<SandreTaxonomicLevelExp> sandreTaxonomicLevelExpIdsIn)
314     {
315         this.sandreTaxonomicLevelExpIds = sandreTaxonomicLevelExpIdsIn;
316     }
317 
318     /**
319      * Niveaux taxinomiques Sandre pour les exports de données
320      * @param elementToAdd SandreTaxonomicLevelExp
321      * @return <tt>true</tt> if this collection changed as a result of the
322      *         call
323      */
324     public boolean addSandreTaxonomicLevelExpIds(SandreTaxonomicLevelExp elementToAdd)
325     {
326         return this.sandreTaxonomicLevelExpIds.add(elementToAdd);
327     }
328 
329     /**
330      * Niveaux taxinomiques Sandre pour les exports de données
331      * @param elementToRemove SandreTaxonomicLevelExp
332      * @return <tt>true</tt> if this collection changed as a result of the
333      *         call
334      */
335     public boolean removeSandreTaxonomicLevelExpIds(SandreTaxonomicLevelExp elementToRemove)
336     {
337         return this.sandreTaxonomicLevelExpIds.remove(elementToRemove);
338     }
339 
340     /**
341      * Returns <code>true</code> if the argument is an TaxonomicLevel instance and all identifiers for this entity
342      * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
343      */
344     @Override
345     public boolean equals(Object object)
346     {
347         if (this == object)
348         {
349             return true;
350         }
351         if (!(object instanceof TaxonomicLevel))
352         {
353             return false;
354         }
355         final TaxonomicLevel that = (TaxonomicLevel)object;
356         if (this.taxLevelCd == null || that.getTaxLevelCd() == null || !this.taxLevelCd.equals(that.getTaxLevelCd()))
357         {
358             return false;
359         }
360         return true;
361     }
362 
363     /**
364      * Returns a hash code based on this entity's identifiers.
365      */
366     @Override
367     public int hashCode()
368     {
369         int hashCode = 0;
370         hashCode = 29 * hashCode + (this.taxLevelCd == null ? 0 : this.taxLevelCd.hashCode());
371 
372         return hashCode;
373     }
374 
375     /**
376      * Constructs new instances of {@link TaxonomicLevel}.
377      */
378     public static final class Factory
379     {
380         /**
381          * Constructs a new instance of {@link TaxonomicLevel}.
382          * @return new TaxonomicLevelImpl()
383          */
384         public static TaxonomicLevel newInstance()
385         {
386             return new TaxonomicLevelImpl();
387         }
388 
389         /**
390          * Constructs a new instance of {@link TaxonomicLevel}, taking all required and/or
391          * read-only properties as arguments, except for identifiers.
392          * @param taxLevelNm String
393          * @param updateDt Timestamp
394          * @param status Status
395          * @return newInstance
396          */
397         public static TaxonomicLevel newInstance(String taxLevelNm, Timestamp updateDt, Status status)
398         {
399             final TaxonomicLevel entity = new TaxonomicLevelImpl();
400             entity.setTaxLevelNm(taxLevelNm);
401             entity.setUpdateDt(updateDt);
402             entity.setStatus(status);
403             return entity;
404         }
405 
406         /**
407          * Constructs a new instance of {@link TaxonomicLevel}, taking all possible properties
408          * (except the identifier(s))as arguments.
409          * @param taxLevelNb Double
410          * @param taxLevelNm String
411          * @param taxLevelLb String
412          * @param taxLevelCm String
413          * @param taxLevelCreationDt Date
414          * @param updateDt Timestamp
415          * @param status Status
416          * @param sandreTaxonomicLevelImpIds Collection<SandreTaxonomicLevelImp>
417          * @param taxonNames Collection<TaxonName>
418          * @param sandreTaxonomicLevelExpIds Collection<SandreTaxonomicLevelExp>
419          * @return newInstance TaxonomicLevel
420          */
421         public static TaxonomicLevel newInstance(Double taxLevelNb, String taxLevelNm, String taxLevelLb, String taxLevelCm, Date taxLevelCreationDt, Timestamp updateDt, Status status, Collection<SandreTaxonomicLevelImp> sandreTaxonomicLevelImpIds, Collection<TaxonName> taxonNames, Collection<SandreTaxonomicLevelExp> sandreTaxonomicLevelExpIds)
422         {
423             final TaxonomicLevel entity = new TaxonomicLevelImpl();
424             entity.setTaxLevelNb(taxLevelNb);
425             entity.setTaxLevelNm(taxLevelNm);
426             entity.setTaxLevelLb(taxLevelLb);
427             entity.setTaxLevelCm(taxLevelCm);
428             entity.setTaxLevelCreationDt(taxLevelCreationDt);
429             entity.setUpdateDt(updateDt);
430             entity.setStatus(status);
431             entity.setSandreTaxonomicLevelImpIds(sandreTaxonomicLevelImpIds);
432             entity.setTaxonNames(taxonNames);
433             entity.setSandreTaxonomicLevelExpIds(sandreTaxonomicLevelExpIds);
434             return entity;
435         }
436     }
437 
438     /**
439      * @see Comparable#compareTo
440      */
441     public int compareTo(TaxonomicLevel o)
442     {
443         int cmp = 0;
444         if (this.getTaxLevelCd() != null)
445         {
446             cmp = this.getTaxLevelCd().compareTo(o.getTaxLevelCd());
447         }
448         else
449         {
450             if (this.getTaxLevelNb() != null)
451             {
452                 cmp = (cmp != 0 ? cmp : this.getTaxLevelNb().compareTo(o.getTaxLevelNb()));
453             }
454             if (this.getTaxLevelNm() != null)
455             {
456                 cmp = (cmp != 0 ? cmp : this.getTaxLevelNm().compareTo(o.getTaxLevelNm()));
457             }
458             if (this.getTaxLevelLb() != null)
459             {
460                 cmp = (cmp != 0 ? cmp : this.getTaxLevelLb().compareTo(o.getTaxLevelLb()));
461             }
462             if (this.getTaxLevelCm() != null)
463             {
464                 cmp = (cmp != 0 ? cmp : this.getTaxLevelCm().compareTo(o.getTaxLevelCm()));
465             }
466             if (this.getTaxLevelCreationDt() != null)
467             {
468                 cmp = (cmp != 0 ? cmp : this.getTaxLevelCreationDt().compareTo(o.getTaxLevelCreationDt()));
469             }
470             if (this.getUpdateDt() != null)
471             {
472                 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
473             }
474         }
475         return cmp;
476     }
477 // HibernateEntity.vsl merge-point
478 // TaxonomicLevel.java merge-point
479 }