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.referential.gear;
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 java.io.Serializable;
032import java.sql.Timestamp;
033
034/**
035 * <html>
036 * <head>
037 * <style>
038 * p {padding:0px; margin:0px;}
039 * </style>
040 * </head>
041 * <body>
042 * <p>
043 * @deprecated NE PLUS UTILISER - Utiliser plutot <i>Grouping </i>
044 * </p>
045 * <p>
046 * &#160;
047 * </p>
048 * <p>
049 * <i>D</i>éfini si une classification d'engin peut avoir des coresspondances avec des engins d'une
050 * autre classification..
051 * <br><b>Les correspondances entre une meme classification sont interdites.</b>
052 * </p>
053 * <p>
054 * Si des coresspondances peuvent etre exister dans les deux sens (de la classification A vers la
055 * classification B, et l'inverse), alors chaque classification doit délcaré la possibilité de
056 * correspondances vers l'autre classification (= deux occurences).
057 * </p>
058 * <p>
059 * Si des coresspondances peuvent etre exister dans les deux sens (de la classification A vers la
060 * classification B, et l'inverse), alors chaque classification doit délcaré la possibilité de
061 * correspondances vers l'autre classification (= deux occurences).
062 * </p>
063 * </body>
064 * </html>
065 */
066// HibernateEntity.vsl annotations merge-point
067public abstract class GearClassificationAssociation
068    implements Serializable, Comparable<GearClassificationAssociation>
069{
070    /**
071     * The serial version UID of this class. Needed for serialization.
072     */
073    private static final long serialVersionUID = 1882944028420031614L;
074
075    private GearClassificationAssociationPK gearClassificationAssociationPk;
076
077    /**
078     * Get the composite primary key identifier class
079     * @return gearClassificationAssociationPk
080     */
081    public GearClassificationAssociationPK getGearClassificationAssociationPk()
082    {
083        return this.gearClassificationAssociationPk;
084    }
085
086    /**
087     * Set the composite primary key identifier class
088     * @param gearClassificationAssociationPkIn
089     */
090    public void setGearClassificationAssociationPk(GearClassificationAssociationPK gearClassificationAssociationPkIn) {
091        this.gearClassificationAssociationPk = gearClassificationAssociationPkIn;
092    }
093
094    // Generate 1 attributes
095    private Timestamp updateDate;
096
097    /**
098     * 
099     * @return this.updateDate Timestamp
100     */
101    public Timestamp getUpdateDate()
102    {
103        return this.updateDate;
104    }
105
106    /**
107     * 
108     * @param updateDateIn Timestamp
109     */
110    public void setUpdateDate(Timestamp updateDateIn)
111    {
112        this.updateDate = updateDateIn;
113    }
114
115    // Generate 2 associations
116    private GearClassification toGearClassification;
117
118    /**
119     * Une classification d'engin permet le regroupement d'un ensemble cohérent d'engin.
120     * Exemple :
121     * - Engin FAO, appellée aussi CSITEP (Classification Standard Internationale Type des Engins de
122     * Pêche), ou, en anglais : International Standard Statistical Classification of Fishing Gear
123     * (ISSCFG)
124     * : ftp://ftp.fao.org/FI/DOCUMENT/cwp/handbook/annex/AnnexM1fishinggear.pdf
125     * - Engin CNTS (DPMA SIP)
126     * - Engin EU (basé sur les engins FAO, mais adapté au contexte réglementaire européen) :
127     * exemple :    - extension pour signifier 'pas d'engin' : NO
128     * extension pour signifier 'engin inconnu' : NK (Not Known)
129     * 'ligne avec canne (...)' : BTF (code utilisé pour des données historique)
130     * - 'Engin EU Corpus' pour le traitment (cf DRE_CORPUS dans tmpsih)
131     * - Engin Métier Ifremer (basé sur la classification FAO, et etendue aux besoins
132     * Ifremer/francais)
133     * Pour ObsMer, la classification utilisée est : FAO
134     * Pour les observations au débarquement, la classification utilisée est : FAO + CNTS (pour
135     * recroiser
136     * avec les déclarations)
137     * @return this.toGearClassification GearClassification
138     */
139    public GearClassification getToGearClassification()
140    {
141        return this.toGearClassification;
142    }
143
144    /**
145     * Une classification d'engin permet le regroupement d'un ensemble cohérent d'engin.
146     * Exemple :
147     * - Engin FAO, appellée aussi CSITEP (Classification Standard Internationale Type des Engins de
148     * Pêche), ou, en anglais : International Standard Statistical Classification of Fishing Gear
149     * (ISSCFG)
150     * : ftp://ftp.fao.org/FI/DOCUMENT/cwp/handbook/annex/AnnexM1fishinggear.pdf
151     * - Engin CNTS (DPMA SIP)
152     * - Engin EU (basé sur les engins FAO, mais adapté au contexte réglementaire européen) :
153     * exemple :    - extension pour signifier 'pas d'engin' : NO
154     * extension pour signifier 'engin inconnu' : NK (Not Known)
155     * 'ligne avec canne (...)' : BTF (code utilisé pour des données historique)
156     * - 'Engin EU Corpus' pour le traitment (cf DRE_CORPUS dans tmpsih)
157     * - Engin Métier Ifremer (basé sur la classification FAO, et etendue aux besoins
158     * Ifremer/francais)
159     * Pour ObsMer, la classification utilisée est : FAO
160     * Pour les observations au débarquement, la classification utilisée est : FAO + CNTS (pour
161     * recroiser
162     * avec les déclarations)
163     * @param toGearClassificationIn GearClassification
164     */
165    public void setToGearClassification(GearClassification toGearClassificationIn)
166    {
167        this.toGearClassification = toGearClassificationIn;
168    }
169
170    private GearClassification fromGearClassification;
171
172    /**
173     * Une classification d'engin permet le regroupement d'un ensemble cohérent d'engin.
174     * Exemple :
175     * - Engin FAO, appellée aussi CSITEP (Classification Standard Internationale Type des Engins de
176     * Pêche), ou, en anglais : International Standard Statistical Classification of Fishing Gear
177     * (ISSCFG)
178     * : ftp://ftp.fao.org/FI/DOCUMENT/cwp/handbook/annex/AnnexM1fishinggear.pdf
179     * - Engin CNTS (DPMA SIP)
180     * - Engin EU (basé sur les engins FAO, mais adapté au contexte réglementaire européen) :
181     * exemple :    - extension pour signifier 'pas d'engin' : NO
182     * extension pour signifier 'engin inconnu' : NK (Not Known)
183     * 'ligne avec canne (...)' : BTF (code utilisé pour des données historique)
184     * - 'Engin EU Corpus' pour le traitment (cf DRE_CORPUS dans tmpsih)
185     * - Engin Métier Ifremer (basé sur la classification FAO, et etendue aux besoins
186     * Ifremer/francais)
187     * Pour ObsMer, la classification utilisée est : FAO
188     * Pour les observations au débarquement, la classification utilisée est : FAO + CNTS (pour
189     * recroiser
190     * avec les déclarations)
191     * @return this.fromGearClassification GearClassification
192     */
193    public GearClassification getFromGearClassification()
194    {
195        return this.fromGearClassification;
196    }
197
198    /**
199     * Une classification d'engin permet le regroupement d'un ensemble cohérent d'engin.
200     * Exemple :
201     * - Engin FAO, appellée aussi CSITEP (Classification Standard Internationale Type des Engins de
202     * Pêche), ou, en anglais : International Standard Statistical Classification of Fishing Gear
203     * (ISSCFG)
204     * : ftp://ftp.fao.org/FI/DOCUMENT/cwp/handbook/annex/AnnexM1fishinggear.pdf
205     * - Engin CNTS (DPMA SIP)
206     * - Engin EU (basé sur les engins FAO, mais adapté au contexte réglementaire européen) :
207     * exemple :    - extension pour signifier 'pas d'engin' : NO
208     * extension pour signifier 'engin inconnu' : NK (Not Known)
209     * 'ligne avec canne (...)' : BTF (code utilisé pour des données historique)
210     * - 'Engin EU Corpus' pour le traitment (cf DRE_CORPUS dans tmpsih)
211     * - Engin Métier Ifremer (basé sur la classification FAO, et etendue aux besoins
212     * Ifremer/francais)
213     * Pour ObsMer, la classification utilisée est : FAO
214     * Pour les observations au débarquement, la classification utilisée est : FAO + CNTS (pour
215     * recroiser
216     * avec les déclarations)
217     * @param fromGearClassificationIn GearClassification
218     */
219    public void setFromGearClassification(GearClassification fromGearClassificationIn)
220    {
221        this.fromGearClassification = fromGearClassificationIn;
222    }
223
224    /**
225     * This entity does not have any identifiers
226     * and is not extending any other entity,
227     * so this method will only return <code>true</code> if the argument reference and <code>this</code>
228     * refer to the same object.
229     */
230    @Override
231    public boolean equals(Object object)
232    {
233        return super.equals(object);
234    }
235
236    /**
237     * This entity does not have any identifiers
238     * and is not extending any other entity,
239     * so this method will only take the identifiers of this entity into account when calculating the hash code.
240     */
241    @Override
242    public int hashCode()
243    {
244        return super.hashCode();
245    }
246
247    /**
248     * Constructs new instances of {@link GearClassificationAssociation}.
249     */
250    public static final class Factory
251    {
252        /**
253         * Constructs a new instance of {@link GearClassificationAssociation}.
254         * @return new GearClassificationAssociationImpl()
255         */
256        public static GearClassificationAssociation newInstance()
257        {
258            return new GearClassificationAssociationImpl();
259        }
260
261
262        /**
263         * Constructs a new instance of {@link GearClassificationAssociation}, taking all possible properties
264         * (except the identifier(s))as arguments.
265         * @param updateDate Timestamp
266         * @param toGearClassification GearClassification
267         * @param fromGearClassification GearClassification
268         * @return newInstance GearClassificationAssociation
269         */
270        public static GearClassificationAssociation newInstance(Timestamp updateDate, GearClassification toGearClassification, GearClassification fromGearClassification)
271        {
272            final GearClassificationAssociation entity = new GearClassificationAssociationImpl();
273            entity.setUpdateDate(updateDate);
274            entity.setToGearClassification(toGearClassification);
275            entity.setFromGearClassification(fromGearClassification);
276            return entity;
277        }
278    }
279
280    /**
281     * @see Comparable#compareTo
282     */
283    public int compareTo(GearClassificationAssociation o)
284    {
285        int cmp = 0;
286        if (this.getGearClassificationAssociationPk() != null)
287        {
288            cmp = this.getGearClassificationAssociationPk().compareTo(o.getGearClassificationAssociationPk());
289        }
290            if (this.getUpdateDate() != null)
291            {
292                cmp = (cmp != 0 ? cmp : this.getUpdateDate().compareTo(o.getUpdateDate()));
293            }
294        return cmp;
295    }
296// HibernateEntity.vsl merge-point
297// GearClassificationAssociation.java merge-point
298}