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.batch;
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 fr.ifremer.adagio.core.dao.data.measure.QuantificationMeasurement;
032import fr.ifremer.adagio.core.dao.data.produce.Produce;
033import fr.ifremer.adagio.core.dao.referential.QualityFlag;
034import fr.ifremer.adagio.core.dao.referential.location.Location;
035import java.io.Serializable;
036import java.util.Collection;
037import java.util.HashSet;
038
039/**
040 * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre d'échantillonnage
041 * sont en effet constitués d'un ensemble de lots.
042 */
043// HibernateEntity.vsl annotations merge-point
044public abstract class Batch
045    implements Serializable, Comparable<Batch>
046{
047    /**
048     * The serial version UID of this class. Needed for serialization.
049     */
050    private static final long serialVersionUID = 2641513882667004017L;
051
052    // Generate 8 attributes
053    private Integer id;
054
055    /**
056     * Identifiant unique du lot.
057     * @return this.id Integer
058     */
059    public Integer getId()
060    {
061        return this.id;
062    }
063
064    /**
065     * Identifiant unique du lot.
066     * @param idIn Integer
067     */
068    public void setId(Integer idIn)
069    {
070        this.id = idIn;
071    }
072
073    private Short rankOrder;
074
075    /**
076     * Numéro d'ordre du lot.
077     * Sert pour déterminer l'ordre de présentation des lots rattaché à un même lot père.
078     * @return this.rankOrder Short
079     */
080    public Short getRankOrder()
081    {
082        return this.rankOrder;
083    }
084
085    /**
086     * Numéro d'ordre du lot.
087     * Sert pour déterminer l'ordre de présentation des lots rattaché à un même lot père.
088     * @param rankOrderIn Short
089     */
090    public void setRankOrder(Short rankOrderIn)
091    {
092        this.rankOrder = rankOrderIn;
093    }
094
095    private String label;
096
097    /**
098     * Libellé du lot (besoin pour le flux d'échantillonnage ISCAX).
099     * mantis #13091
100     * @return this.label String
101     */
102    public String getLabel()
103    {
104        return this.label;
105    }
106
107    /**
108     * Libellé du lot (besoin pour le flux d'échantillonnage ISCAX).
109     * mantis #13091
110     * @param labelIn String
111     */
112    public void setLabel(String labelIn)
113    {
114        this.label = labelIn;
115    }
116
117    private Float subgroupCount;
118
119    /**
120     * Nombre de sous ensembles ayant servit à la quantification. Attention : Il ne s'agit pas du
121     * nombre de lot fils.
122     * Par exemple il pourra s'agir d'un nombre de caisse servant à quantifié le lot.
123     * Par exemple, pour une détermination de la quantification par les volumes :
124     * - nombre_sous_ensembles_quantifiés = 3
125     * - poids moyen par sous-ensemble = 5 kg
126     * => Poids total du lot = 3 x 5 = 15kg
127     * @return this.subgroupCount Float
128     */
129    public Float getSubgroupCount()
130    {
131        return this.subgroupCount;
132    }
133
134    /**
135     * Nombre de sous ensembles ayant servit à la quantification. Attention : Il ne s'agit pas du
136     * nombre de lot fils.
137     * Par exemple il pourra s'agir d'un nombre de caisse servant à quantifié le lot.
138     * Par exemple, pour une détermination de la quantification par les volumes :
139     * - nombre_sous_ensembles_quantifiés = 3
140     * - poids moyen par sous-ensemble = 5 kg
141     * => Poids total du lot = 3 x 5 = 15kg
142     * @param subgroupCountIn Float
143     */
144    public void setSubgroupCount(Float subgroupCountIn)
145    {
146        this.subgroupCount = subgroupCountIn;
147    }
148
149    private Integer individualCount;
150
151    /**
152     * Nombre d'individus comptés.
153     * Passage en Integer (sous oracle = NUMBER(10)) pour les besoins des données historiques
154     * SIH-OBSMER.
155     * @return this.individualCount Integer
156     */
157    public Integer getIndividualCount()
158    {
159        return this.individualCount;
160    }
161
162    /**
163     * Nombre d'individus comptés.
164     * Passage en Integer (sous oracle = NUMBER(10)) pour les besoins des données historiques
165     * SIH-OBSMER.
166     * @param individualCountIn Integer
167     */
168    public void setIndividualCount(Integer individualCountIn)
169    {
170        this.individualCount = individualCountIn;
171    }
172
173    private Boolean childBatchsReplication = Boolean.valueOf(false);
174
175    /**
176     * Indique si les lots fils sont des réplicats ou non. Attribut non renseigné si un des lots
177     * père est rattaché à un taxon ou groupe de taxon.
178     * @return this.childBatchsReplication Boolean
179     */
180    public Boolean isChildBatchsReplication()
181    {
182        return this.childBatchsReplication;
183    }
184
185    /**
186     * Indique si les lots fils sont des réplicats ou non. Attribut non renseigné si un des lots
187     * père est rattaché à un taxon ou groupe de taxon.
188     * @param childBatchsReplicationIn Boolean
189     */
190    public void setChildBatchsReplication(Boolean childBatchsReplicationIn)
191    {
192        this.childBatchsReplication = childBatchsReplicationIn;
193    }
194
195    private Boolean exhaustiveInventory = Boolean.valueOf(false);
196
197    /**
198     * <html>
199     * <head>
200     * </head>
201     * <body>
202     * <p>
203     * Indique si l'inventaire des esp&#232;ces scientifiques (ReferenceTaxon) est
204     * exhaustif ou non.Attribut non renseign&#233; si le lot ou un de ses lots p&#232;re
205     * est rattach&#233; &#224; un taxon.
206     * </p>
207     * <p>
208     * </p>
209     * <p>
210     * Si l'inventaire est exhautif, il convient de remplir <i>BatchExhautiveInventory</i>,
211     * pour tracer sur quelle liste d'esp&#232;ces porte l'exhaustivit&#233;. Si
212     * <i>BatchExhautiveInventory</i>
213     * n'est pas renseign&#233;, alors l'exhautivit&#233; porte sur toutes les esp&#232;ces.
214     * </p>
215     * </body>
216     * </html>
217     * @return this.exhaustiveInventory Boolean
218     */
219    public Boolean isExhaustiveInventory()
220    {
221        return this.exhaustiveInventory;
222    }
223
224    /**
225     * <html>
226     * <head>
227     * </head>
228     * <body>
229     * <p>
230     * Indique si l'inventaire des esp&#232;ces scientifiques (ReferenceTaxon) est
231     * exhaustif ou non.Attribut non renseign&#233; si le lot ou un de ses lots p&#232;re
232     * est rattach&#233; &#224; un taxon.
233     * </p>
234     * <p>
235     * </p>
236     * <p>
237     * Si l'inventaire est exhautif, il convient de remplir <i>BatchExhautiveInventory</i>,
238     * pour tracer sur quelle liste d'esp&#232;ces porte l'exhaustivit&#233;. Si
239     * <i>BatchExhautiveInventory</i>
240     * n'est pas renseign&#233;, alors l'exhautivit&#233; porte sur toutes les esp&#232;ces.
241     * </p>
242     * </body>
243     * </html>
244     * @param exhaustiveInventoryIn Boolean
245     */
246    public void setExhaustiveInventory(Boolean exhaustiveInventoryIn)
247    {
248        this.exhaustiveInventory = exhaustiveInventoryIn;
249    }
250
251    private String comments;
252
253    /**
254     * 
255     * @return this.comments String
256     */
257    public String getComments()
258    {
259        return this.comments;
260    }
261
262    /**
263     * 
264     * @param commentsIn String
265     */
266    public void setComments(String commentsIn)
267    {
268        this.comments = commentsIn;
269    }
270
271    // Generate 8 associations
272    private Location location;
273
274    /**
275     * Zone de pêche.
276     * Uniquement dans le cas ou l'opération unitaire n'est pas connue (Exemple : lors des
277     * échantillonnage des ventes observées)
278     * @return this.location Location
279     */
280    public Location getLocation()
281    {
282        return this.location;
283    }
284
285    /**
286     * Zone de pêche.
287     * Uniquement dans le cas ou l'opération unitaire n'est pas connue (Exemple : lors des
288     * échantillonnage des ventes observées)
289     * @param locationIn Location
290     */
291    public void setLocation(Location locationIn)
292    {
293        this.location = locationIn;
294    }
295
296    private Batch parentBatch;
297
298    /**
299     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
300     * d'échantillonnage
301     * sont en effet constitués d'un ensemble de lots.
302     * @return this.parentBatch Batch
303     */
304    public Batch getParentBatch()
305    {
306        return this.parentBatch;
307    }
308
309    /**
310     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
311     * d'échantillonnage
312     * sont en effet constitués d'un ensemble de lots.
313     * @param parentBatchIn Batch
314     */
315    public void setParentBatch(Batch parentBatchIn)
316    {
317        this.parentBatch = parentBatchIn;
318    }
319
320    private Collection<Batch> childBatchs = new HashSet<Batch>();
321
322    /**
323     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
324     * d'échantillonnage
325     * sont en effet constitués d'un ensemble de lots.
326     * @return this.childBatchs Collection<Batch>
327     */
328    public Collection<Batch> getChildBatchs()
329    {
330        return this.childBatchs;
331    }
332
333    /**
334     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
335     * d'échantillonnage
336     * sont en effet constitués d'un ensemble de lots.
337     * @param childBatchsIn Collection<Batch>
338     */
339    public void setChildBatchs(Collection<Batch> childBatchsIn)
340    {
341        this.childBatchs = childBatchsIn;
342    }
343
344    /**
345     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
346     * d'échantillonnage
347     * sont en effet constitués d'un ensemble de lots.
348     * @param elementToAdd Batch
349     * @return <tt>true</tt> if this collection changed as a result of the
350     *         call
351     */
352    public boolean addChildBatchs(Batch elementToAdd)
353    {
354        return this.childBatchs.add(elementToAdd);
355    }
356
357    /**
358     * Lot échantillonné ou lot composant une capture réelle. Une capture ou un arbre
359     * d'échantillonnage
360     * sont en effet constitués d'un ensemble de lots.
361     * @param elementToRemove Batch
362     * @return <tt>true</tt> if this collection changed as a result of the
363     *         call
364     */
365    public boolean removeChildBatchs(Batch elementToRemove)
366    {
367        return this.childBatchs.remove(elementToRemove);
368    }
369
370    private QualityFlag qualityFlag;
371
372    /**
373     * Niveau de qualité de la donnée.
374     * Par défaut = 0 (non qualifié).
375     * Dans ObsVente (et reprise des données Arpège), ce champs est utilisé au niveau des espèces
376     * commerciales, pour indiquer les lots non valides.
377     * @return this.qualityFlag QualityFlag
378     */
379    public QualityFlag getQualityFlag()
380    {
381        return this.qualityFlag;
382    }
383
384    /**
385     * Niveau de qualité de la donnée.
386     * Par défaut = 0 (non qualifié).
387     * Dans ObsVente (et reprise des données Arpège), ce champs est utilisé au niveau des espèces
388     * commerciales, pour indiquer les lots non valides.
389     * @param qualityFlagIn QualityFlag
390     */
391    public void setQualityFlag(QualityFlag qualityFlagIn)
392    {
393        this.qualityFlag = qualityFlagIn;
394    }
395
396    private Collection<BatchExhaustiveInventory> batchExhaustiveInventories = new HashSet<BatchExhaustiveInventory>();
397
398    /**
399     * Liste les niveaux d'exhautivité, c'est à dire les listes concernés par l'éxhautivité.
400     * Ces listes sont représentées par une niveau de priorité, définis dans la stratégie (cf
401     * ReferenceTaxonStrategy)
402     * @return this.batchExhaustiveInventories Collection<BatchExhaustiveInventory>
403     */
404    public Collection<BatchExhaustiveInventory> getBatchExhaustiveInventories()
405    {
406        return this.batchExhaustiveInventories;
407    }
408
409    /**
410     * Liste les niveaux d'exhautivité, c'est à dire les listes concernés par l'éxhautivité.
411     * Ces listes sont représentées par une niveau de priorité, définis dans la stratégie (cf
412     * ReferenceTaxonStrategy)
413     * @param batchExhaustiveInventoriesIn Collection<BatchExhaustiveInventory>
414     */
415    public void setBatchExhaustiveInventories(Collection<BatchExhaustiveInventory> batchExhaustiveInventoriesIn)
416    {
417        this.batchExhaustiveInventories = batchExhaustiveInventoriesIn;
418    }
419
420    /**
421     * Liste les niveaux d'exhautivité, c'est à dire les listes concernés par l'éxhautivité.
422     * Ces listes sont représentées par une niveau de priorité, définis dans la stratégie (cf
423     * ReferenceTaxonStrategy)
424     * @param elementToAdd BatchExhaustiveInventory
425     * @return <tt>true</tt> if this collection changed as a result of the
426     *         call
427     */
428    public boolean addBatchExhaustiveInventories(BatchExhaustiveInventory elementToAdd)
429    {
430        return this.batchExhaustiveInventories.add(elementToAdd);
431    }
432
433    /**
434     * Liste les niveaux d'exhautivité, c'est à dire les listes concernés par l'éxhautivité.
435     * Ces listes sont représentées par une niveau de priorité, définis dans la stratégie (cf
436     * ReferenceTaxonStrategy)
437     * @param elementToRemove BatchExhaustiveInventory
438     * @return <tt>true</tt> if this collection changed as a result of the
439     *         call
440     */
441    public boolean removeBatchExhaustiveInventories(BatchExhaustiveInventory elementToRemove)
442    {
443        return this.batchExhaustiveInventories.remove(elementToRemove);
444    }
445
446    private Collection<QuantificationMeasurement> quantificationMeasurements = new HashSet<QuantificationMeasurement>();
447
448    /**
449     * Liste des mesure de quantification du lot.
450     * @return this.quantificationMeasurements Collection<QuantificationMeasurement>
451     */
452    public Collection<QuantificationMeasurement> getQuantificationMeasurements()
453    {
454        return this.quantificationMeasurements;
455    }
456
457    /**
458     * Liste des mesure de quantification du lot.
459     * @param quantificationMeasurementsIn Collection<QuantificationMeasurement>
460     */
461    public void setQuantificationMeasurements(Collection<QuantificationMeasurement> quantificationMeasurementsIn)
462    {
463        this.quantificationMeasurements = quantificationMeasurementsIn;
464    }
465
466    /**
467     * Liste des mesure de quantification du lot.
468     * @param elementToAdd QuantificationMeasurement
469     * @return <tt>true</tt> if this collection changed as a result of the
470     *         call
471     */
472    public boolean addQuantificationMeasurements(QuantificationMeasurement elementToAdd)
473    {
474        return this.quantificationMeasurements.add(elementToAdd);
475    }
476
477    /**
478     * Liste des mesure de quantification du lot.
479     * @param elementToRemove QuantificationMeasurement
480     * @return <tt>true</tt> if this collection changed as a result of the
481     *         call
482     */
483    public boolean removeQuantificationMeasurements(QuantificationMeasurement elementToRemove)
484    {
485        return this.quantificationMeasurements.remove(elementToRemove);
486    }
487
488    private Collection<Produce> produces = new HashSet<Produce>();
489
490    /**
491     * <html>
492     * <head>
493     * </head>
494     * <body>
495     * <p>
496     * Un produit est identifi&#233; par une esp&#232;ce commerciale, un &#233;tat, une
497     * qualit&#233;, pr&#233;sentation et cat&#233;gorie commerciale.
498     * </p>
499     * <p>
500     * </p>
501     * <p>
502     * <u>Si le produit est un &quot;produit vendu&quot; :</u>
503     * </p>
504     * <p>
505     * On pourra allors utiliser SortingMeasurement pour stocker des donn&#233;es
506     * &#233;conomiques, comme par exemple :
507     * </p>
508     * <p>
509     * - Le prix du produit. Il peut y avoir plusieurds prix (plusieurs PSFMs),
510     * par exemple : prix au kilo, et prix total en euros.
511     * </p>
512     * <p>
513     * - Valorisation de la commercialisation : Label rouge, Eco Label, marque
514     * collective control&#233;e par un organisme tier. (cf SACROIS)
515     * </p>
516     * <p>
517     * - Destination commerciale : consommation humaine, consommation animale,
518     * etc .
519     * </p>
520     * </body>
521     * </html>
522     * @return this.produces Collection<Produce>
523     */
524    public Collection<Produce> getProduces()
525    {
526        return this.produces;
527    }
528
529    /**
530     * <html>
531     * <head>
532     * </head>
533     * <body>
534     * <p>
535     * Un produit est identifi&#233; par une esp&#232;ce commerciale, un &#233;tat, une
536     * qualit&#233;, pr&#233;sentation et cat&#233;gorie commerciale.
537     * </p>
538     * <p>
539     * </p>
540     * <p>
541     * <u>Si le produit est un &quot;produit vendu&quot; :</u>
542     * </p>
543     * <p>
544     * On pourra allors utiliser SortingMeasurement pour stocker des donn&#233;es
545     * &#233;conomiques, comme par exemple :
546     * </p>
547     * <p>
548     * - Le prix du produit. Il peut y avoir plusieurds prix (plusieurs PSFMs),
549     * par exemple : prix au kilo, et prix total en euros.
550     * </p>
551     * <p>
552     * - Valorisation de la commercialisation : Label rouge, Eco Label, marque
553     * collective control&#233;e par un organisme tier. (cf SACROIS)
554     * </p>
555     * <p>
556     * - Destination commerciale : consommation humaine, consommation animale,
557     * etc .
558     * </p>
559     * </body>
560     * </html>
561     * @param producesIn Collection<Produce>
562     */
563    public void setProduces(Collection<Produce> producesIn)
564    {
565        this.produces = producesIn;
566    }
567
568    /**
569     * <html>
570     * <head>
571     * </head>
572     * <body>
573     * <p>
574     * Un produit est identifi&#233; par une esp&#232;ce commerciale, un &#233;tat, une
575     * qualit&#233;, pr&#233;sentation et cat&#233;gorie commerciale.
576     * </p>
577     * <p>
578     * </p>
579     * <p>
580     * <u>Si le produit est un &quot;produit vendu&quot; :</u>
581     * </p>
582     * <p>
583     * On pourra allors utiliser SortingMeasurement pour stocker des donn&#233;es
584     * &#233;conomiques, comme par exemple :
585     * </p>
586     * <p>
587     * - Le prix du produit. Il peut y avoir plusieurds prix (plusieurs PSFMs),
588     * par exemple : prix au kilo, et prix total en euros.
589     * </p>
590     * <p>
591     * - Valorisation de la commercialisation : Label rouge, Eco Label, marque
592     * collective control&#233;e par un organisme tier. (cf SACROIS)
593     * </p>
594     * <p>
595     * - Destination commerciale : consommation humaine, consommation animale,
596     * etc .
597     * </p>
598     * </body>
599     * </html>
600     * @param elementToAdd Produce
601     * @return <tt>true</tt> if this collection changed as a result of the
602     *         call
603     */
604    public boolean addProduces(Produce elementToAdd)
605    {
606        return this.produces.add(elementToAdd);
607    }
608
609    /**
610     * <html>
611     * <head>
612     * </head>
613     * <body>
614     * <p>
615     * Un produit est identifi&#233; par une esp&#232;ce commerciale, un &#233;tat, une
616     * qualit&#233;, pr&#233;sentation et cat&#233;gorie commerciale.
617     * </p>
618     * <p>
619     * </p>
620     * <p>
621     * <u>Si le produit est un &quot;produit vendu&quot; :</u>
622     * </p>
623     * <p>
624     * On pourra allors utiliser SortingMeasurement pour stocker des donn&#233;es
625     * &#233;conomiques, comme par exemple :
626     * </p>
627     * <p>
628     * - Le prix du produit. Il peut y avoir plusieurds prix (plusieurs PSFMs),
629     * par exemple : prix au kilo, et prix total en euros.
630     * </p>
631     * <p>
632     * - Valorisation de la commercialisation : Label rouge, Eco Label, marque
633     * collective control&#233;e par un organisme tier. (cf SACROIS)
634     * </p>
635     * <p>
636     * - Destination commerciale : consommation humaine, consommation animale,
637     * etc .
638     * </p>
639     * </body>
640     * </html>
641     * @param elementToRemove Produce
642     * @return <tt>true</tt> if this collection changed as a result of the
643     *         call
644     */
645    public boolean removeProduces(Produce elementToRemove)
646    {
647        return this.produces.remove(elementToRemove);
648    }
649
650    /**
651     * Returns <code>true</code> if the argument is an Batch instance and all identifiers for this entity
652     * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
653     */
654    @Override
655    public boolean equals(Object object)
656    {
657        if (this == object)
658        {
659            return true;
660        }
661        if (!(object instanceof Batch))
662        {
663            return false;
664        }
665        final Batch that = (Batch)object;
666        if (this.id == null || that.getId() == null || !this.id.equals(that.getId()))
667        {
668            return false;
669        }
670        return true;
671    }
672
673    /**
674     * Returns a hash code based on this entity's identifiers.
675     */
676    @Override
677    public int hashCode()
678    {
679        int hashCode = 0;
680        hashCode = 29 * hashCode + (this.id == null ? 0 : this.id.hashCode());
681
682        return hashCode;
683    }
684
685    /**
686     * @see Comparable#compareTo
687     */
688    public int compareTo(Batch o)
689    {
690        int cmp = 0;
691        if (this.getId() != null)
692        {
693            cmp = this.getId().compareTo(o.getId());
694        }
695        else
696        {
697            if (this.getRankOrder() != null)
698            {
699                cmp = (cmp != 0 ? cmp : this.getRankOrder().compareTo(o.getRankOrder()));
700            }
701            if (this.getLabel() != null)
702            {
703                cmp = (cmp != 0 ? cmp : this.getLabel().compareTo(o.getLabel()));
704            }
705            if (this.getSubgroupCount() != null)
706            {
707                cmp = (cmp != 0 ? cmp : this.getSubgroupCount().compareTo(o.getSubgroupCount()));
708            }
709            if (this.getIndividualCount() != null)
710            {
711                cmp = (cmp != 0 ? cmp : this.getIndividualCount().compareTo(o.getIndividualCount()));
712            }
713            if (this.isChildBatchsReplication() != null)
714            {
715                cmp = (cmp != 0 ? cmp : this.isChildBatchsReplication().compareTo(o.isChildBatchsReplication()));
716            }
717            if (this.isExhaustiveInventory() != null)
718            {
719                cmp = (cmp != 0 ? cmp : this.isExhaustiveInventory().compareTo(o.isExhaustiveInventory()));
720            }
721            if (this.getComments() != null)
722            {
723                cmp = (cmp != 0 ? cmp : this.getComments().compareTo(o.getComments()));
724            }
725        }
726        return cmp;
727    }
728// HibernateEntity.vsl merge-point
729// Batch.java merge-point
730    private Float weight = null;
731    private Integer weightMethodId = null;
732    private Float weightBeforeSampling = null;
733    private Float indirectWeight = null;
734    private Float elevateWeight = null;
735    
736  public Float getWeight() {
737    return weight;
738  }
739
740  public void setWeightMethodId(Integer weightMethodId) {
741    this.weightMethodId = weightMethodId;
742  }
743  public Integer getWeightMethodId() {
744    return weightMethodId;
745  }
746
747  public void setWeight(Float weight) {
748    this.weight = weight;
749  }
750  
751  public Float getWeightBeforeSampling() {
752    return weightBeforeSampling;
753  }
754
755  public void setWeightBeforeSampling(Float weightBeforeSampling) {
756    this.weightBeforeSampling = weightBeforeSampling;
757  }
758
759  public Float getIndirectWeight() {
760    return indirectWeight;
761  }
762
763  public void setIndirectWeight(Float indirectWeight) {
764    this.indirectWeight = indirectWeight;
765  }
766
767  public Float getElevateWeight() {
768    return elevateWeight;
769  }
770
771  public void setElevateWeight(Float elevateWeight) {
772    this.elevateWeight = elevateWeight;
773  }
774}