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