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.data.aquaculture;
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.referential.Status;
29 import java.io.Serializable;
30 import java.sql.Timestamp;
31 import java.util.Collection;
32 import java.util.HashSet;
33
34 /**
35 * La ploïdie d'une cellule caractérise le nombre et l'organisation de ses chromosomes
36 */
37 // HibernateEntity.vsl annotations merge-point
38 public abstract class Ploidy
39 implements Serializable, Comparable<Ploidy>
40 {
41 /**
42 * The serial version UID of this class. Needed for serialization.
43 */
44 private static final long serialVersionUID = -8399926269106863556L;
45
46 // Generate 4 attributes
47 private Integer ploidyId;
48
49 /**
50 * Identifiant de la ploïdie
51 * @return this.ploidyId Integer
52 */
53 public Integer getPloidyId()
54 {
55 return this.ploidyId;
56 }
57
58 /**
59 * Identifiant de la ploïdie
60 * @param ploidyIdIn Integer
61 */
62 public void setPloidyId(Integer ploidyIdIn)
63 {
64 this.ploidyId = ploidyIdIn;
65 }
66
67 private String ploidyNm;
68
69 /**
70 * Libellé de la ploïdie
71 * @return this.ploidyNm String
72 */
73 public String getPloidyNm()
74 {
75 return this.ploidyNm;
76 }
77
78 /**
79 * Libellé de la ploïdie
80 * @param ploidyNmIn String
81 */
82 public void setPloidyNm(String ploidyNmIn)
83 {
84 this.ploidyNm = ploidyNmIn;
85 }
86
87 private Timestamp updateDt;
88
89 /**
90 * Date de maj
91 * @return this.updateDt Timestamp
92 */
93 public Timestamp getUpdateDt()
94 {
95 return this.updateDt;
96 }
97
98 /**
99 * Date de maj
100 * @param updateDtIn Timestamp
101 */
102 public void setUpdateDt(Timestamp updateDtIn)
103 {
104 this.updateDt = updateDtIn;
105 }
106
107 private Integer remoteId;
108
109 /**
110 *
111 * @return this.remoteId Integer
112 */
113 public Integer getRemoteId()
114 {
115 return this.remoteId;
116 }
117
118 /**
119 *
120 * @param remoteIdIn Integer
121 */
122 public void setRemoteId(Integer remoteIdIn)
123 {
124 this.remoteId = remoteIdIn;
125 }
126
127 // Generate 2 associations
128 private Collection<InitialPopulation> initialPopulations = new HashSet<InitialPopulation>();
129
130 /**
131 * Pour les données aquacoles de nombreuses études consiste à voir les évolutions de plusieurs
132 * paramètres sur une même population de mollusques répartis en lots sur le littoral français.
133 * Cela
134 * permet de comparer les évolutions liées seulement au site. On part d'un ensemble de
135 * mollusques, que
136 * l'on appelle population initiale, au niveau national et l'on repartit cet ensemble en lots
137 * sur
138 * différents lieux de mesures.
139 * @return this.initialPopulations Collection<InitialPopulation>
140 */
141 public Collection<InitialPopulation> getInitialPopulations()
142 {
143 return this.initialPopulations;
144 }
145
146 /**
147 * Pour les données aquacoles de nombreuses études consiste à voir les évolutions de plusieurs
148 * paramètres sur une même population de mollusques répartis en lots sur le littoral français.
149 * Cela
150 * permet de comparer les évolutions liées seulement au site. On part d'un ensemble de
151 * mollusques, que
152 * l'on appelle population initiale, au niveau national et l'on repartit cet ensemble en lots
153 * sur
154 * différents lieux de mesures.
155 * @param initialPopulationsIn Collection<InitialPopulation>
156 */
157 public void setInitialPopulations(Collection<InitialPopulation> initialPopulationsIn)
158 {
159 this.initialPopulations = initialPopulationsIn;
160 }
161
162 /**
163 * Pour les données aquacoles de nombreuses études consiste à voir les évolutions de plusieurs
164 * paramètres sur une même population de mollusques répartis en lots sur le littoral français.
165 * Cela
166 * permet de comparer les évolutions liées seulement au site. On part d'un ensemble de
167 * mollusques, que
168 * l'on appelle population initiale, au niveau national et l'on repartit cet ensemble en lots
169 * sur
170 * différents lieux de mesures.
171 * @param elementToAdd InitialPopulation
172 * @return <tt>true</tt> if this collection changed as a result of the
173 * call
174 */
175 public boolean addInitialPopulations(InitialPopulation elementToAdd)
176 {
177 return this.initialPopulations.add(elementToAdd);
178 }
179
180 /**
181 * Pour les données aquacoles de nombreuses études consiste à voir les évolutions de plusieurs
182 * paramètres sur une même population de mollusques répartis en lots sur le littoral français.
183 * Cela
184 * permet de comparer les évolutions liées seulement au site. On part d'un ensemble de
185 * mollusques, que
186 * l'on appelle population initiale, au niveau national et l'on repartit cet ensemble en lots
187 * sur
188 * différents lieux de mesures.
189 * @param elementToRemove InitialPopulation
190 * @return <tt>true</tt> if this collection changed as a result of the
191 * call
192 */
193 public boolean removeInitialPopulations(InitialPopulation elementToRemove)
194 {
195 return this.initialPopulations.remove(elementToRemove);
196 }
197
198 private Status status;
199
200 /**
201 * Liste des états possibles d'un objet.
202 * @return this.status Status
203 */
204 public Status getStatus()
205 {
206 return this.status;
207 }
208
209 /**
210 * Liste des états possibles d'un objet.
211 * @param statusIn Status
212 */
213 public void setStatus(Status statusIn)
214 {
215 this.status = statusIn;
216 }
217
218 /**
219 * Returns <code>true</code> if the argument is an Ploidy instance and all identifiers for this entity
220 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
221 */
222 @Override
223 public boolean equals(Object object)
224 {
225 if (this == object)
226 {
227 return true;
228 }
229 if (!(object instanceof Ploidy))
230 {
231 return false;
232 }
233 final Ploidy that = (Ploidy)object;
234 if (this.ploidyId == null || that.getPloidyId() == null || !this.ploidyId.equals(that.getPloidyId()))
235 {
236 return false;
237 }
238 return true;
239 }
240
241 /**
242 * Returns a hash code based on this entity's identifiers.
243 */
244 @Override
245 public int hashCode()
246 {
247 int hashCode = 0;
248 hashCode = 29 * hashCode + (this.ploidyId == null ? 0 : this.ploidyId.hashCode());
249
250 return hashCode;
251 }
252
253 /**
254 * Constructs new instances of {@link Ploidy}.
255 */
256 public static final class Factory
257 {
258 /**
259 * Constructs a new instance of {@link Ploidy}.
260 * @return new PloidyImpl()
261 */
262 public static Ploidy newInstance()
263 {
264 return new PloidyImpl();
265 }
266
267 /**
268 * Constructs a new instance of {@link Ploidy}, taking all required and/or
269 * read-only properties as arguments, except for identifiers.
270 * @param ploidyNm String
271 * @param status Status
272 * @return newInstance
273 */
274 public static Ploidy newInstance(String ploidyNm, Status status)
275 {
276 final Ploidy entity = new PloidyImpl();
277 entity.setPloidyNm(ploidyNm);
278 entity.setStatus(status);
279 return entity;
280 }
281
282 /**
283 * Constructs a new instance of {@link Ploidy}, taking all possible properties
284 * (except the identifier(s))as arguments.
285 * @param ploidyNm String
286 * @param updateDt Timestamp
287 * @param remoteId Integer
288 * @param initialPopulations Collection<InitialPopulation>
289 * @param status Status
290 * @return newInstance Ploidy
291 */
292 public static Ploidy newInstance(String ploidyNm, Timestamp updateDt, Integer remoteId, Collection<InitialPopulation> initialPopulations, Status status)
293 {
294 final Ploidy entity = new PloidyImpl();
295 entity.setPloidyNm(ploidyNm);
296 entity.setUpdateDt(updateDt);
297 entity.setRemoteId(remoteId);
298 entity.setInitialPopulations(initialPopulations);
299 entity.setStatus(status);
300 return entity;
301 }
302 }
303
304 /**
305 * @see Comparable#compareTo
306 */
307 public int compareTo(Ploidy o)
308 {
309 int cmp = 0;
310 if (this.getPloidyId() != null)
311 {
312 cmp = this.getPloidyId().compareTo(o.getPloidyId());
313 }
314 else
315 {
316 if (this.getPloidyNm() != null)
317 {
318 cmp = (cmp != 0 ? cmp : this.getPloidyNm().compareTo(o.getPloidyNm()));
319 }
320 if (this.getUpdateDt() != null)
321 {
322 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
323 }
324 if (this.getRemoteId() != null)
325 {
326 cmp = (cmp != 0 ? cmp : this.getRemoteId().compareTo(o.getRemoteId()));
327 }
328 }
329 return cmp;
330 }
331 // HibernateEntity.vsl merge-point
332 // Ploidy.java merge-point
333 }