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