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.measure;
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.administration.user.Department;
032import fr.ifremer.adagio.core.dao.data.survey.takeOver.TakeOver;
033import fr.ifremer.adagio.core.dao.referential.AnalysisInstrument;
034import fr.ifremer.adagio.core.dao.referential.NumericalPrecision;
035import fr.ifremer.adagio.core.dao.referential.PrecisionType;
036import fr.ifremer.adagio.core.dao.referential.QualityFlag;
037import fr.ifremer.adagio.core.dao.referential.pmfm.AggregationLevel;
038import fr.ifremer.adagio.core.dao.referential.pmfm.Pmfm;
039import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValue;
040import java.util.Date;
041
042/**
043 * 
044 */
045// HibernateEntity.vsl annotations merge-point
046public abstract class TakeOverMeasurement
047    extends MeasurementImpl
048{
049    /**
050     * The serial version UID of this class. Needed for serialization.
051     */
052    private static final long serialVersionUID = -4608078681434189173L;
053
054    // Generate 0 attributes
055    // Generate 1 associations
056    private TakeOver takeOver;
057
058    /**
059     * Prise en charge, d'une marée ou d'un débarquement, par un organisme (Seller) chargé de mettre
060     * en
061     * vente les produits débarqués.
062     * @return this.takeOver TakeOver
063     */
064    public TakeOver getTakeOver()
065    {
066        return this.takeOver;
067    }
068
069    /**
070     * Prise en charge, d'une marée ou d'un débarquement, par un organisme (Seller) chargé de mettre
071     * en
072     * vente les produits débarqués.
073     * @param takeOverIn TakeOver
074     */
075    public void setTakeOver(TakeOver takeOverIn)
076    {
077        this.takeOver = takeOverIn;
078    }
079
080    /**
081     * This entity does not have any identifiers
082     * but since it extends the <code>MeasurementImpl</code> class
083     * it will simply delegate the call up there.
084     *
085     * @see fr.ifremer.adagio.core.dao.data.measure.Measurement#equals(Object)
086     */
087    @Override
088    public boolean equals(Object object)
089    {
090        return super.equals(object);
091    }
092
093    /**
094     * This entity does not have any identifiers
095     * but since it extends the <code>MeasurementImpl</code> class
096     * it will simply delegate the call up there.
097     *
098     * @see fr.ifremer.adagio.core.dao.data.measure.Measurement#hashCode()
099     */
100    @Override
101    public int hashCode()
102    {
103        return super.hashCode();
104    }
105
106    /**
107     * Constructs new instances of {@link TakeOverMeasurement}.
108     */
109    public static final class Factory
110    {
111        /**
112         * Constructs a new instance of {@link TakeOverMeasurement}.
113         * @return new TakeOverMeasurementImpl()
114         */
115        public static TakeOverMeasurement newInstance()
116        {
117            return new TakeOverMeasurementImpl();
118        }
119
120        /**
121         * Constructs a new instance of {@link TakeOverMeasurement}, taking all required and/or
122         * read-only properties as arguments, except for identifiers.
123         * @param qualityFlag QualityFlag
124         * @param pmfm Pmfm
125         * @param takeOver TakeOver
126         * @return newInstance
127         */
128        public static TakeOverMeasurement newInstance(QualityFlag qualityFlag, Pmfm pmfm, TakeOver takeOver)
129        {
130            final TakeOverMeasurement entity = new TakeOverMeasurementImpl();
131            entity.setQualityFlag(qualityFlag);
132            entity.setPmfm(pmfm);
133            entity.setTakeOver(takeOver);
134            return entity;
135        }
136
137        /**
138         * Constructs a new instance of {@link TakeOverMeasurement}, taking all possible properties
139         * (except the identifier(s))as arguments.
140         * @param numericalValue Float
141         * @param alphanumericalValue String
142         * @param digitCount Integer
143         * @param precisionValue Float
144         * @param controlDate Date
145         * @param validationDate Date
146         * @param qualificationDate Date
147         * @param qualificationComments String
148         * @param aggregationLevel AggregationLevel
149         * @param qualitativeValue QualitativeValue
150         * @param qualityFlag QualityFlag
151         * @param precisionType PrecisionType
152         * @param analysisInstrument AnalysisInstrument
153         * @param pmfm Pmfm
154         * @param department Department
155         * @param numericalPrecision NumericalPrecision
156         * @param takeOver TakeOver
157         * @return newInstance TakeOverMeasurement
158         */
159        public static TakeOverMeasurement newInstance(Float numericalValue, String alphanumericalValue, Integer digitCount, Float precisionValue, Date controlDate, Date validationDate, Date qualificationDate, String qualificationComments, AggregationLevel aggregationLevel, QualitativeValue qualitativeValue, QualityFlag qualityFlag, PrecisionType precisionType, AnalysisInstrument analysisInstrument, Pmfm pmfm, Department department, NumericalPrecision numericalPrecision, TakeOver takeOver)
160        {
161            final TakeOverMeasurement entity = new TakeOverMeasurementImpl();
162            entity.setNumericalValue(numericalValue);
163            entity.setAlphanumericalValue(alphanumericalValue);
164            entity.setDigitCount(digitCount);
165            entity.setPrecisionValue(precisionValue);
166            entity.setControlDate(controlDate);
167            entity.setValidationDate(validationDate);
168            entity.setQualificationDate(qualificationDate);
169            entity.setQualificationComments(qualificationComments);
170            entity.setAggregationLevel(aggregationLevel);
171            entity.setQualitativeValue(qualitativeValue);
172            entity.setQualityFlag(qualityFlag);
173            entity.setPrecisionType(precisionType);
174            entity.setAnalysisInstrument(analysisInstrument);
175            entity.setPmfm(pmfm);
176            entity.setDepartment(department);
177            entity.setNumericalPrecision(numericalPrecision);
178            entity.setTakeOver(takeOver);
179            return entity;
180        }
181    }
182
183    /**
184     * @see Comparable#compareTo
185     */
186    public int compareTo(TakeOverMeasurement o)
187    {
188        int cmp = 0;
189        if (this.getId() != null)
190        {
191            cmp = this.getId().compareTo(o.getId());
192        }
193        return cmp;
194    }
195// HibernateEntity.vsl merge-point
196// TakeOverMeasurement.java merge-point
197}