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 * Structure d'élevage 36 * C'est l'ensemble des structures qui tiennent les systèmes. Exemple : la filière, la table, le 37 * bouchot, etc.. 38 */ 39 // HibernateEntity.vsl annotations merge-point 40 public abstract class BreedingStructure 41 implements Serializable, Comparable<BreedingStructure> 42 { 43 /** 44 * The serial version UID of this class. Needed for serialization. 45 */ 46 private static final long serialVersionUID = -1192222427068277120L; 47 48 // Generate 3 attributes 49 private String breedingStructCd; 50 51 /** 52 * Code de la structure d'élevage 53 * @return this.breedingStructCd String 54 */ 55 public String getBreedingStructCd() 56 { 57 return this.breedingStructCd; 58 } 59 60 /** 61 * Code de la structure d'élevage 62 * @param breedingStructCdIn String 63 */ 64 public void setBreedingStructCd(String breedingStructCdIn) 65 { 66 this.breedingStructCd = breedingStructCdIn; 67 } 68 69 private String breedingStructNm; 70 71 /** 72 * Libellé de la structure d'élevage 73 * @return this.breedingStructNm String 74 */ 75 public String getBreedingStructNm() 76 { 77 return this.breedingStructNm; 78 } 79 80 /** 81 * Libellé de la structure d'élevage 82 * @param breedingStructNmIn String 83 */ 84 public void setBreedingStructNm(String breedingStructNmIn) 85 { 86 this.breedingStructNm = breedingStructNmIn; 87 } 88 89 private Timestamp updateDt; 90 91 /** 92 * Date de maj 93 * @return this.updateDt Timestamp 94 */ 95 public Timestamp getUpdateDt() 96 { 97 return this.updateDt; 98 } 99 100 /** 101 * Date de maj 102 * @param updateDtIn Timestamp 103 */ 104 public void setUpdateDt(Timestamp updateDtIn) 105 { 106 this.updateDt = updateDtIn; 107 } 108 109 // Generate 3 associations 110 private Collection<Batch> batches = new HashSet<Batch>(); 111 112 /** 113 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 114 * dans 115 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 116 * une 117 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 118 * structure) 119 * * un niveau Ce lot de mollusques est positionné sur le terrain. 120 * @return this.batches Collection<Batch> 121 */ 122 public Collection<Batch> getBatches() 123 { 124 return this.batches; 125 } 126 127 /** 128 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 129 * dans 130 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 131 * une 132 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 133 * structure) 134 * * un niveau Ce lot de mollusques est positionné sur le terrain. 135 * @param batchesIn Collection<Batch> 136 */ 137 public void setBatches(Collection<Batch> batchesIn) 138 { 139 this.batches = batchesIn; 140 } 141 142 /** 143 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 144 * dans 145 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 146 * une 147 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 148 * structure) 149 * * un niveau Ce lot de mollusques est positionné sur le terrain. 150 * @param elementToAdd Batch 151 * @return <tt>true</tt> if this collection changed as a result of the 152 * call 153 */ 154 public boolean addBatches(Batch elementToAdd) 155 { 156 return this.batches.add(elementToAdd); 157 } 158 159 /** 160 * Un lot est un groupe d'animaux issu d'une même population initiale et suivi sur un même point 161 * dans 162 * des conditions d'élevage similaires (conditions expérimentales). Un lot est défini par : * 163 * une 164 * population initiale * un lieu de surveillance * des caractéristiques d'élevage (système + 165 * structure) 166 * * un niveau Ce lot de mollusques est positionné sur le terrain. 167 * @param elementToRemove Batch 168 * @return <tt>true</tt> if this collection changed as a result of the 169 * call 170 */ 171 public boolean removeBatches(Batch elementToRemove) 172 { 173 return this.batches.remove(elementToRemove); 174 } 175 176 private Collection<HistoricalAccount> historicalAccounts = new HashSet<HistoricalAccount>(); 177 178 /** 179 * Ligne d'historique 180 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 181 * étude. Ce 182 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 183 * ligne 184 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 185 * début de 186 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 187 * type de 188 * phase d'élevag 189 * @return this.historicalAccounts Collection<HistoricalAccount> 190 */ 191 public Collection<HistoricalAccount> getHistoricalAccounts() 192 { 193 return this.historicalAccounts; 194 } 195 196 /** 197 * Ligne d'historique 198 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 199 * étude. Ce 200 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 201 * ligne 202 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 203 * début de 204 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 205 * type de 206 * phase d'élevag 207 * @param historicalAccountsIn Collection<HistoricalAccount> 208 */ 209 public void setHistoricalAccounts(Collection<HistoricalAccount> historicalAccountsIn) 210 { 211 this.historicalAccounts = historicalAccountsIn; 212 } 213 214 /** 215 * Ligne d'historique 216 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 217 * étude. Ce 218 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 219 * ligne 220 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 221 * début de 222 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 223 * type de 224 * phase d'élevag 225 * @param elementToAdd HistoricalAccount 226 * @return <tt>true</tt> if this collection changed as a result of the 227 * call 228 */ 229 public boolean addHistoricalAccounts(HistoricalAccount elementToAdd) 230 { 231 return this.historicalAccounts.add(elementToAdd); 232 } 233 234 /** 235 * Ligne d'historique 236 * Une population de mollusques a subit différents transferts avant d'être utilisée pour une 237 * étude. Ce 238 * sont ces transferts entre secteurs conchylicoles, par exemple, que l'on veut tracer. Une 239 * ligne 240 * d'historique c'est : * un lieu de surveillance ou * un secteur conchylicole * une date de 241 * début de 242 * phase * une date de fin de phase * des caractéristiques d'élevage (système + structure) * un 243 * type de 244 * phase d'élevag 245 * @param elementToRemove HistoricalAccount 246 * @return <tt>true</tt> if this collection changed as a result of the 247 * call 248 */ 249 public boolean removeHistoricalAccounts(HistoricalAccount elementToRemove) 250 { 251 return this.historicalAccounts.remove(elementToRemove); 252 } 253 254 private Status status; 255 256 /** 257 * Liste des états possibles d'un objet. 258 * @return this.status Status 259 */ 260 public Status getStatus() 261 { 262 return this.status; 263 } 264 265 /** 266 * Liste des états possibles d'un objet. 267 * @param statusIn Status 268 */ 269 public void setStatus(Status statusIn) 270 { 271 this.status = statusIn; 272 } 273 274 /** 275 * Returns <code>true</code> if the argument is an BreedingStructure instance and all identifiers for this entity 276 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise. 277 */ 278 @Override 279 public boolean equals(Object object) 280 { 281 if (this == object) 282 { 283 return true; 284 } 285 if (!(object instanceof BreedingStructure)) 286 { 287 return false; 288 } 289 final BreedingStructure that = (BreedingStructure)object; 290 if (this.breedingStructCd == null || that.getBreedingStructCd() == null || !this.breedingStructCd.equals(that.getBreedingStructCd())) 291 { 292 return false; 293 } 294 return true; 295 } 296 297 /** 298 * Returns a hash code based on this entity's identifiers. 299 */ 300 @Override 301 public int hashCode() 302 { 303 int hashCode = 0; 304 hashCode = 29 * hashCode + (this.breedingStructCd == null ? 0 : this.breedingStructCd.hashCode()); 305 306 return hashCode; 307 } 308 309 /** 310 * Constructs new instances of {@link BreedingStructure}. 311 */ 312 public static final class Factory 313 { 314 /** 315 * Constructs a new instance of {@link BreedingStructure}. 316 * @return new BreedingStructureImpl() 317 */ 318 public static BreedingStructure newInstance() 319 { 320 return new BreedingStructureImpl(); 321 } 322 323 /** 324 * Constructs a new instance of {@link BreedingStructure}, taking all required and/or 325 * read-only properties as arguments, except for identifiers. 326 * @param breedingStructNm String 327 * @param status Status 328 * @return newInstance 329 */ 330 public static BreedingStructure newInstance(String breedingStructNm, Status status) 331 { 332 final BreedingStructure entity = new BreedingStructureImpl(); 333 entity.setBreedingStructNm(breedingStructNm); 334 entity.setStatus(status); 335 return entity; 336 } 337 338 /** 339 * Constructs a new instance of {@link BreedingStructure}, taking all possible properties 340 * (except the identifier(s))as arguments. 341 * @param breedingStructNm String 342 * @param updateDt Timestamp 343 * @param batches Collection<Batch> 344 * @param historicalAccounts Collection<HistoricalAccount> 345 * @param status Status 346 * @return newInstance BreedingStructure 347 */ 348 public static BreedingStructure newInstance(String breedingStructNm, Timestamp updateDt, Collection<Batch> batches, Collection<HistoricalAccount> historicalAccounts, Status status) 349 { 350 final BreedingStructure entity = new BreedingStructureImpl(); 351 entity.setBreedingStructNm(breedingStructNm); 352 entity.setUpdateDt(updateDt); 353 entity.setBatches(batches); 354 entity.setHistoricalAccounts(historicalAccounts); 355 entity.setStatus(status); 356 return entity; 357 } 358 } 359 360 /** 361 * @see Comparable#compareTo 362 */ 363 public int compareTo(BreedingStructure o) 364 { 365 int cmp = 0; 366 if (this.getBreedingStructCd() != null) 367 { 368 cmp = this.getBreedingStructCd().compareTo(o.getBreedingStructCd()); 369 } 370 else 371 { 372 if (this.getBreedingStructNm() != null) 373 { 374 cmp = (cmp != 0 ? cmp : this.getBreedingStructNm().compareTo(o.getBreedingStructNm())); 375 } 376 if (this.getUpdateDt() != null) 377 { 378 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt())); 379 } 380 } 381 return cmp; 382 } 383 // HibernateEntity.vsl merge-point 384 // BreedingStructure.java merge-point 385 }