001// license-header java merge-point
002//
003// Attention: Generated code! Do not modify by hand!
004// Generated by: SpringDao.vsl in andromda-spring-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 fr.ifremer.adagio.core.dao.Search;
032import fr.ifremer.adagio.core.dao.referential.Status;
033import fr.ifremer.adagio.core.dao.referential.ValidityStatus;
034import java.sql.Timestamp;
035import java.util.Collection;
036import java.util.Set;
037import org.andromda.spring.PaginationResult;
038
039/**
040 * <html>
041 * <head>
042 * <style>
043 * p {padding:0px; margin:0px;}
044 * </style>
045 * </head>
046 * <body>
047 * <p>
048 * Permet de définir des attibuts spécifiques tels que :
049 * </p>
050 * <ul>
051 * <li>
052 * actif/passif
053 * </li>
054 * <li>
055 * trainant/dormant
056 * </li>
057 * </ul>
058 * <p>
059 * </p>
060 * <p>
061 * </p>
062 * <!--StartFragment--><i><span
063 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
064 * sans-serif;white-space:normal;color:rgb(0, 0,
065 * 0);text-align:-webkit-auto;line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
066 * 255, 255);" class="Apple-style-span">-</span><span class="Apple-converted-space"><font
067 * face="arial, sans-serif" color="rgb(0, 0, 0)" style="font-size:13px;">&#160;</font></span><span
068 * style="background-attachment:scroll;background-position:initial initial;color:rgb(34, 34,
069 * 34);background-repeat:repeat;background-color:rgb(255, 255, 136);background-image:initial;"
070 * class="il"><font face="arial, sans-serif" style="font-size:13px;">Actif</font></span><span
071 * class="Apple-converted-space"><font face="arial, sans-serif" color="rgb(0, 0, 0)"
072 * style="font-size:13px;">&#160;</font></span><span
073 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
074 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
075 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
076 * 255, 255);" class="Apple-style-span">=
077 * l'engin se déplace pour capturer l'espèce recherchée.</span><span
078 * class="Apple-converted-space"><font face="arial, sans-serif" color="rgb(0, 0, 0)"
079 * style="font-size:13px;">&#160;
080 * </font></span><span
081 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
082 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
083 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
084 * 255, 255);" class="Apple-style-span"><br>-
085 * Passif =</span><span class="Apple-converted-space"><font face="arial, sans-serif" color="rgb(0,
086 * 0, 0)" style="font-size:13px;">&#160;</font></span><span
087 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
088 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
089 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
090 * 255, 255);" class="Apple-style-span">l'engin
091 * attend que la cible</span><span class="Apple-converted-space"><font face="arial, sans-serif"
092 * color="rgb(0, 0, 0)" style="font-size:13px;">&#160;</font></span><span
093 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
094 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
095 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
096 * 255, 255);" class="Apple-style-span">se
097 * prenne dedans.</span><span class="Apple-converted-space"><font face="arial, sans-serif"
098 * color="rgb(0, 0, 0)" style="font-size:13px;">&#160;
099 * </font></span><span
100 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
101 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
102 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
103 * 255, 255);" class="Apple-style-span"><br>
104 * <br><font size="3">is</font><font size="2" face="arial">T</font>owed (à
105 * défaut d'autre champ libre) a été rempli pour&#160; permettre son utilisation
106 * dans ALLEGRO avec le sens suivant : «&#160;autorise ou non la&#160;
107 * superposition d'opérations de pêche simultanées&#160;».</span><span
108 * class="Apple-converted-space"><font face="arial, sans-serif" color="rgb(0, 0, 0)"
109 * style="font-size:13px;">&#160;
110 * </font></span><span
111 * style="letter-spacing:normal;font-style:normal;font-size:13px;font-family:arial,
112 * sans-serif;white-space:normal;text-align:-webkit-auto;color:rgb(0, 0,
113 * 0);line-height:normal;font-weight:normal;font-variant:normal;text-transform:none;word-spacing:0px;text-indent:0px;background-color:rgb(255,
114 * 255, 255);" class="Apple-style-span"><br><font size="3">La
115 * notion </font><font size="2" face="arial">exacte sous-jacente (&quot;</font><font size="3">
116 * trainant / dormant ou engin fixe / engin mobile</font><font size="2"
117 * face="arial">&quot;)</font><font size="3">
118 * est reportée à plus tard.
119 * </font><br></span></i><!--EndFragment-->
120 * <p>
121 * <br>
122 * <br>      [Regle de gestion] <b>Il ne doit pas y avoir d'incohérence au sein
123 * d'une hierarchie d'engins d'une classification donnée. </b>Par
124 * exemple, si un type d'engin est actif, alors tous ces types d'engin fils
125 * doivent aussi etre actifs.
126 * </p>
127 * </body>
128 * </html>
129 * @see FishingGear
130 */
131public interface FishingGearDao
132{
133    /**
134     * This constant is used as a transformation flag; entities can be converted automatically into value objects
135     * or other types, different methods in a class implementing this interface support this feature: look for
136     * an <code>int</code> parameter called <code>transform</code>.
137     * <p>
138     * This specific flag denotes no transformation will occur.
139     */
140    public static final int TRANSFORM_NONE = 0;
141
142
143    /**
144     * Transforms the given results to a collection of {@link FishingGear}
145     * instances (this is useful when the returned results contains a row of data and you want just entities only).
146     *
147     * @param results the query results.
148     */
149    public void toEntities(final Collection<?> results);
150
151    /**
152     * Gets an instance of FishingGear from the persistent store.
153     * @param id
154     * @return FishingGear
155     */
156    public FishingGear get(Integer id);
157
158    /**
159     * <p>
160     * Does the same thing as {@link #get(Integer)} with an
161     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
162     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
163     * defined in this class then the result <strong>WILL BE</strong> passed through an operation which can
164     * optionally transform the entity (into a value object for example). By default, transformation does
165     * not occur.
166     * </p>
167     *
168     * @param transform flag to determine transformation type.
169     * @param id the identifier of the entity to get.
170     * @return either the entity or the object transformed from the entity.
171     */
172    public Object get(int transform, Integer id);
173
174    /**
175     * Loads an instance of FishingGear from the persistent store.
176     * @param id
177     * @return FishingGear
178     */
179    public FishingGear load(Integer id);
180
181    /**
182     * <p>
183     * Does the same thing as {@link #load(Integer)} with an
184     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
185     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
186     * defined in this class then the result <strong>WILL BE</strong> passed through an operation which can
187     * optionally transform the entity (into a value object for example). By default, transformation does
188     * not occur.
189     * </p>
190     *
191     * @param transform flag to determine transformation type.
192     * @param id the identifier of the entity to load.
193     * @return either the entity or the object transformed from the entity.
194     */
195    public Object load(int transform, Integer id);
196
197    /**
198     * Loads all entities of type {@link FishingGear}.
199     *
200     * @return the loaded entities.
201     */
202    public Collection<FishingGear> loadAll();
203
204    /**
205     * <p>
206     * Does the same thing as {@link #loadAll()} with an
207     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
208     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
209     * defined here then the result <strong>WILL BE</strong> passed through an operation which can optionally
210     * transform the entity (into a value object for example). By default, transformation does
211     * not occur.
212     * </p>
213     *
214     * @param transform the flag indicating what transformation to use.
215     * @return the loaded entities.
216     */
217    public Collection<?> loadAll(final int transform);
218
219    /**
220     * <p>
221     * Does the same thing as {@link #loadAll()} with an
222     * additional two arguments called <code>pageNumber</code> and <code>pageSize</code>. The <code>pageNumber</code>
223     * argument allows you to specify the page number when you are paging the results and the pageSize allows you to specify the size of the
224     * page retrieved.
225     * </p>
226     *
227     * @param pageNumber the page number to retrieve when paging results.
228     * @param pageSize the size of the page to retrieve when paging results.
229     * @return the loaded entities.
230     */
231    public Collection<?> loadAll(final int pageNumber, final int pageSize);
232
233    /**
234     * <p>
235     * Does the same thing as {@link #loadAll(int)} with an
236     * additional two arguments called <code>pageNumber</code> and <code>pageSize</code>. The <code>pageNumber</code>
237     * argument allows you to specify the page number when you are paging the results and the pageSize allows you to specify the size of the
238     * page retrieved.
239     * </p>
240     *
241     * @param transform the flag indicating what transformation to use.
242     * @param pageNumber the page number to retrieve when paging results.
243     * @param pageSize the size of the page to retrieve when paging results.
244     * @return the loaded entities.
245     */
246    public Collection<?> loadAll(final int transform, final int pageNumber, final int pageSize);
247
248    /**
249     * Creates an instance of FishingGear and adds it to the persistent store.
250     * @param fishingGear
251     * @return FishingGear
252     */
253    public FishingGear create(FishingGear fishingGear);
254
255    /**
256     * <p>
257     * Does the same thing as {@link #create(FishingGear)} with an
258     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
259     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
260     * defined here then the result <strong>WILL BE</strong> passed through an operation which can optionally
261     * transform the entity (into a value object for example). By default, transformation does
262     * not occur.
263     * </p>
264     * @param transform
265     * @param fishingGear
266     * @return Object
267     */
268    public Object create(int transform, FishingGear fishingGear);
269
270    /**
271     * Creates a new instance of FishingGear and adds
272     * from the passed in <code>entities</code> collection
273     *
274     * @param entities the collection of FishingGear
275     * instances to create.
276     *
277     * @return the created instances.
278     */
279    public Collection<FishingGear> create(Collection<FishingGear> entities);
280
281    /**
282     * <p>
283     * Does the same thing as {@link #create(FishingGear)} with an
284     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
285     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
286     * defined here then the result <strong>WILL BE</strong> passed through an operation which can optionally
287     * transform the entities (into value objects for example). By default, transformation does
288     * not occur.
289     * </p>
290     * @param transform
291     * @param entities
292     * @return Collection
293     */
294    public Collection<?> create(int transform, Collection<FishingGear> entities);
295
296    /**
297     * <p>
298     * Creates a new <code>FishingGear</code>
299     * instance from <strong>all</strong> attributes and adds it to
300     * the persistent store.
301     * </p>
302     * @param isActive <html>
303<head>
304<style>
305p {padding:0px; margin:0px;}
306</style>
307</head>
308<body>
309Indique si le type d'engin est active (=vrai) ou passif (=faux).<!--StartFragment-->
310<span style="font-family:arial,
311sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3120);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
313255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
314class="Apple-style-span"><i>-</i></span><i><span class="Apple-converted-space"><font color="rgb(0,
3150, 0)" face="arial, sans-serif" style="font-size:13px;">&#160;</font></span><span
316style="background-attachment:scroll;background-position:initial initial;color:rgb(34, 34,
31734);background-color:rgb(255, 255, 136);background-image:initial;background-repeat:repeat;"
318class="il"><font face="arial, sans-serif" style="font-size:13px;">Actif</font></span><span
319class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
320style="font-size:13px;">&#160;:</font></span><span style="font-family:arial,
321sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3220);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
323255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
324class="Apple-style-span">
325l'engin se déplace pour capturer l'espèce recherchée.</span><span
326class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
327style="font-size:13px;">&#160;
328</font></span><span style="font-family:arial,
329sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3300);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
331255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
332class="Apple-style-span"><br>-
333<font size="3">Passif</font><font face="arial" size="2"> :</font></span><span
334class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
335style="font-size:13px;">&#160;</font></span><span style="font-family:arial,
336sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3370);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
338255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
339class="Apple-style-span">l'engin
340attend que la cible</span><span class="Apple-converted-space"><font color="rgb(0, 0, 0)"
341face="arial, sans-serif" style="font-size:13px;">&#160;</font></span><span style="font-family:arial,
342sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3430);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
344255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
345class="Apple-style-span">se
346prenne dedans.</span><span class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial,
347sans-serif" style="font-size:13px;">&#160;</font></span></i>
348</body>
349</html>
350     * @param isTowed <html>
351<head>
352<style>
353p {padding:0px; margin:0px;}
354</style>
355</head>
356<body>
357<p>
358Indique si le type d'engin est trainant (=vrai) ou dormant (=faux)
359</p>
360<p>
361</p>
362<p>
363Actuellement, <span style="font-family:arial,
364sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3650);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
366255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
367class="Apple-style-span"><font size="3">is</font><font size="2" face="arial">T</font><font
368size="3">owed
369(à défaut d'autre champ libre) a été rempli pour&#160; permettre son
370utilisation dans A</font><font size="2" face="arial">llegro</font><font size="3">
371avec le sens suivant : «&#160;<i>autorise ou non la&#160; superposition
372d'opérations de pêche simultanées</i>&#160;»<i>.</i></font><i><font face="arial" size="2">
373</font></i></span>    </p>
374<!--StartFragment-->
375<ul
376style="font-family:arial;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0,
3770,
3780);word-spacing:0px;white-space:normal;font-weight:normal;letter-spacing:normal;font-style:normal;font-size:small;text-indent:0px;line-height:normal;">
379<li>
380<i>is_towed=1</i><span class="Apple-converted-space">&#160;</span>=&gt;
381l'opération utilisant cet engin ne peut pas être superposée avec
382d'autres opérations ayant aussi un engin<span
383class="Apple-converted-space">&#160;</span><i>is_towed=1</i>
384</li>
385<li>
386<i>is_towed=0</i><span class="Apple-converted-space">&#160;</span>=&gt;
387superposition avec d'autres opérations possibles (quelques soit la
388valeur<span class="Apple-converted-space">&#160;</span><i>is_towed </i>de
389leur engin)
390</li>
391</ul>
392<!--EndFragment-->
393<p>
394<span class="Apple-converted-space"><i><font size="2" color="rgb(0, 0, 0)" face="arial, sans-serif">
395</font></i></span><i><span style="font-family:arial,
396sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
3970);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
398255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
399class="Apple-style-span"><font size="3"><br>
400<br></font></span></i><span style="font-family:arial,
401sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4020);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
403255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
404class="Apple-style-span"><font size="3">L</font><i><font size="2" face="arial">e
405réel concept</font></i><font size="3"> </font><font size="2" face="arial">sous-jacente,
406plus stricte </font></span>
407</p>
408<p>
409<span style="font-family:arial,
410sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4110);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
412255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
413class="Apple-style-span"><font size="2" face="arial">thématique</font><font size="2"
414face="arial">ment
415</font></span><span style="font-family:arial,
416sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4170);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
418255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
419class="Apple-style-span"><font size="2" face="arial">(&quot;</font></span><span
420style="font-family:arial,
421sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4220);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
423255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
424class="Apple-style-span"><i><font size="3">trainant
425/ dormant ou engin fixe / engin mobile</font></i><font size="2" face="arial">&quot;),</font><font
426size="3">
427est reportée à plus tard.
428</font><br></span><!--EndFragment-->
429</p>
430</body>
431</html>
432     * @param label Mnémonique (ou code) de l'engin. Le mnémonique doit être unique pour une meme classification
433d'engin.
434Par exemple : - Pour la classification FAO/CSITEP : label='OTB'
435     * @param name Libellé de l'engin.
436il s'agit du libellé "officiel" de la classification.
437note : ce libellé peut etre régionalisé via "GearLocation".
438     * @param description 
439     * @param updateDate 
440     * @param comments 
441     * @return FishingGear
442     */
443    public FishingGear create(
444        Boolean isActive,
445        Boolean isTowed,
446        String label,
447        String name,
448        String description,
449        Timestamp updateDate,
450        String comments);
451
452    /**
453     * <p>
454     * Does the same thing as {@link #create(Boolean, Boolean, String, String, String, Timestamp, String)} with an
455     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
456     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
457     * defined here then the result <strong>WILL BE</strong> passed through an operation which can optionally
458     * transform the entity (into a value object for example). By default, transformation does
459     * not occur.
460     * </p>
461     * @param transform
462     * @param isActive <html>
463<head>
464<style>
465p {padding:0px; margin:0px;}
466</style>
467</head>
468<body>
469Indique si le type d'engin est active (=vrai) ou passif (=faux).<!--StartFragment-->
470<span style="font-family:arial,
471sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4720);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
473255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
474class="Apple-style-span"><i>-</i></span><i><span class="Apple-converted-space"><font color="rgb(0,
4750, 0)" face="arial, sans-serif" style="font-size:13px;">&#160;</font></span><span
476style="background-attachment:scroll;background-position:initial initial;color:rgb(34, 34,
47734);background-color:rgb(255, 255, 136);background-image:initial;background-repeat:repeat;"
478class="il"><font face="arial, sans-serif" style="font-size:13px;">Actif</font></span><span
479class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
480style="font-size:13px;">&#160;:</font></span><span style="font-family:arial,
481sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4820);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
483255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
484class="Apple-style-span">
485l'engin se déplace pour capturer l'espèce recherchée.</span><span
486class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
487style="font-size:13px;">&#160;
488</font></span><span style="font-family:arial,
489sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4900);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
491255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
492class="Apple-style-span"><br>-
493<font size="3">Passif</font><font face="arial" size="2"> :</font></span><span
494class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial, sans-serif"
495style="font-size:13px;">&#160;</font></span><span style="font-family:arial,
496sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
4970);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
498255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
499class="Apple-style-span">l'engin
500attend que la cible</span><span class="Apple-converted-space"><font color="rgb(0, 0, 0)"
501face="arial, sans-serif" style="font-size:13px;">&#160;</font></span><span style="font-family:arial,
502sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5030);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
504255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
505class="Apple-style-span">se
506prenne dedans.</span><span class="Apple-converted-space"><font color="rgb(0, 0, 0)" face="arial,
507sans-serif" style="font-size:13px;">&#160;</font></span></i>
508</body>
509</html>
510     * @param isTowed <html>
511<head>
512<style>
513p {padding:0px; margin:0px;}
514</style>
515</head>
516<body>
517<p>
518Indique si le type d'engin est trainant (=vrai) ou dormant (=faux)
519</p>
520<p>
521</p>
522<p>
523Actuellement, <span style="font-family:arial,
524sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5250);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
526255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
527class="Apple-style-span"><font size="3">is</font><font size="2" face="arial">T</font><font
528size="3">owed
529(à défaut d'autre champ libre) a été rempli pour&#160; permettre son
530utilisation dans A</font><font size="2" face="arial">llegro</font><font size="3">
531avec le sens suivant : «&#160;<i>autorise ou non la&#160; superposition
532d'opérations de pêche simultanées</i>&#160;»<i>.</i></font><i><font face="arial" size="2">
533</font></i></span>    </p>
534<!--StartFragment-->
535<ul
536style="font-family:arial;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0,
5370,
5380);word-spacing:0px;white-space:normal;font-weight:normal;letter-spacing:normal;font-style:normal;font-size:small;text-indent:0px;line-height:normal;">
539<li>
540<i>is_towed=1</i><span class="Apple-converted-space">&#160;</span>=&gt;
541l'opération utilisant cet engin ne peut pas être superposée avec
542d'autres opérations ayant aussi un engin<span
543class="Apple-converted-space">&#160;</span><i>is_towed=1</i>
544</li>
545<li>
546<i>is_towed=0</i><span class="Apple-converted-space">&#160;</span>=&gt;
547superposition avec d'autres opérations possibles (quelques soit la
548valeur<span class="Apple-converted-space">&#160;</span><i>is_towed </i>de
549leur engin)
550</li>
551</ul>
552<!--EndFragment-->
553<p>
554<span class="Apple-converted-space"><i><font size="2" color="rgb(0, 0, 0)" face="arial, sans-serif">
555</font></i></span><i><span style="font-family:arial,
556sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5570);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
558255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
559class="Apple-style-span"><font size="3"><br>
560<br></font></span></i><span style="font-family:arial,
561sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5620);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
563255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
564class="Apple-style-span"><font size="3">L</font><i><font size="2" face="arial">e
565réel concept</font></i><font size="3"> </font><font size="2" face="arial">sous-jacente,
566plus stricte </font></span>
567</p>
568<p>
569<span style="font-family:arial,
570sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5710);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
572255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
573class="Apple-style-span"><font size="2" face="arial">thématique</font><font size="2"
574face="arial">ment
575</font></span><span style="font-family:arial,
576sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5770);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
578255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
579class="Apple-style-span"><font size="2" face="arial">(&quot;</font></span><span
580style="font-family:arial,
581sans-serif;text-align:-webkit-auto;font-variant:normal;text-transform:none;color:rgb(0, 0,
5820);word-spacing:0px;white-space:normal;background-color:rgb(255, 255,
583255);font-weight:normal;letter-spacing:normal;font-style:normal;font-size:13px;text-indent:0px;line-height:normal;"
584class="Apple-style-span"><i><font size="3">trainant
585/ dormant ou engin fixe / engin mobile</font></i><font size="2" face="arial">&quot;),</font><font
586size="3">
587est reportée à plus tard.
588</font><br></span><!--EndFragment-->
589</p>
590</body>
591</html>
592     * @param label Mnémonique (ou code) de l'engin. Le mnémonique doit être unique pour une meme classification
593d'engin.
594Par exemple : - Pour la classification FAO/CSITEP : label='OTB'
595     * @param name Libellé de l'engin.
596il s'agit du libellé "officiel" de la classification.
597note : ce libellé peut etre régionalisé via "GearLocation".
598     * @param description 
599     * @param updateDate 
600     * @param comments 
601     * @return FishingGear
602     */
603    public Object create(
604        int transform,
605        Boolean isActive,
606        Boolean isTowed,
607        String label,
608        String name,
609        String description,
610        Timestamp updateDate,
611        String comments);
612
613    /**
614     * <p>
615     * Creates a new <code>FishingGear</code>
616     * instance from only <strong>required</strong> properties (attributes
617     * and association ends) and adds it to the persistent store.
618     * </p>
619     * @param gearClassification
620     * @param label
621     * @param name
622     * @param status
623     * @param updateDate
624     * @param validityStatus
625     * @return FishingGear
626     */
627    public FishingGear create(
628        GearClassification gearClassification,
629        String label,
630        String name,
631        Status status,
632        Timestamp updateDate,
633        ValidityStatus validityStatus);
634
635    /**
636     * <p>
637     * Does the same thing as {@link #create(String, String, Timestamp)} with an
638     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
639     * the returned entity will <strong>NOT</strong> be transformed. If this flag is any of the other constants
640     * defined here then the result <strong>WILL BE</strong> passed through an operation which can optionally
641     * transform the entity (into a value object for example). By default, transformation does
642     * not occur.
643     * </p>
644     * @param transform flag to determine transformation type.
645     * @param gearClassification
646     * @param label
647     * @param name
648     * @param status
649     * @param updateDate
650     * @param validityStatus
651     * @return Object
652     */
653    public Object create(
654        int transform,
655        GearClassification gearClassification,
656        String label,
657        String name,
658        Status status,
659        Timestamp updateDate,
660        ValidityStatus validityStatus);
661
662    /**
663     * Updates the <code>fishingGear</code> instance in the persistent store.
664     * @param fishingGear
665     */
666    public void update(FishingGear fishingGear);
667
668    /**
669     * Updates all instances in the <code>entities</code> collection in the persistent store.
670     * @param entities
671     */
672    public void update(Collection<FishingGear> entities);
673
674    /**
675     * Removes the instance of FishingGear from the persistent store.
676     * @param fishingGear
677     */
678    public void remove(FishingGear fishingGear);
679
680    /**
681     * Removes the instance of FishingGear having the given
682     * <code>identifier</code> from the persistent store.
683     * @param id
684     */
685    public void remove(Integer id);
686
687    /**
688     * Removes all entities in the given <code>entities</code> collection.
689     * @param entities
690     */
691    public void remove(Collection<FishingGear> entities);
692
693
694    /**
695     * Does the same thing as {@link #search(int, Search)} but with an
696     * additional two flags called <code>pageNumber</code> and <code>pageSize</code>. These flags allow you to
697     * limit your data to a specified page number and size.
698     *
699     * @param transform the transformation flag.
700     * @param pageNumber the page number in the data to retrieve
701     * @param pageSize the size of the page to retrieve.
702     * @param search the search object which provides the search parameters and pagination specification.
703     * @return any found results from the search wrapped in a {@link PaginationResult} instance.
704     */
705    public PaginationResult search(final int transform, final int pageNumber, final int pageSize, final Search search);
706
707    /**
708     * Does the same thing as {@link #search(Search)} but with an
709     * additional two flags called <code>pageNumber</code> and <code>pageSize</code>. These flags allow you to
710     * limit your data to a specified page number and size.
711     *
712     * @param pageNumber the page number in the data to retrieve
713     * @param pageSize the size of the page to retrieve.
714     * @param search the search object which provides the search parameters and pagination specification.
715     * @return any found results from the search wrapped in a {@link PaginationResult} instance.
716     */
717    public PaginationResult search(final int pageNumber, final int pageSize, final Search search);
718
719    /**
720     * Does the same thing as {@link #search(Search)} but with an
721     * additional flag called <code>transform</code>. If this flag is set to <code>TRANSFORM_NONE</code> then
722     * finder results will <strong>NOT</strong> be transformed during retrieval.
723     * If this flag is any of the other constants defined here
724     * then results <strong>WILL BE</strong> passed through an operation which can optionally
725     * transform the entities (into value objects for example). By default, transformation does
726     * not occur.
727     *
728     * @param transform the transformation flag.
729     * @param search the search object which provides the search parameters and pagination specification.
730     * @return any found results from the search.
731     */
732    public Set<?> search(final int transform, final Search search);
733
734    /**
735     * Performs a search using the parameters specified in the given <code>search</code> object.
736     *
737     * @param search the search object which provides the search parameters and pagination specification.
738     * @return any found results from the search.
739     */
740    public Set<FishingGear> search(final Search search);
741
742    /**
743     * Allows transformation of entities into value objects
744     * (or something else for that matter), when the <code>transform</code>
745     * flag is set to one of the constants defined in <code>fr.ifremer.adagio.core.dao.referential.gear.FishingGearDao</code>, please note
746     * that the {@link #TRANSFORM_NONE} constant denotes no transformation, so the entity itself
747     * will be returned.
748     *
749     * If the integer argument value is unknown {@link #TRANSFORM_NONE} is assumed.
750     *
751     * @param transform one of the constants declared in {@link fr.ifremer.adagio.core.dao.referential.gear.FishingGearDao}
752     * @param entity an entity that was found
753     * @return the transformed entity (i.e. new value object, etc)
754     * @see #transformEntities(int,Collection)
755     */
756    public Object transformEntity(final int transform, final FishingGear entity);
757
758    /**
759     * Transforms a collection of entities using the
760     * {@link #transformEntity(int,FishingGear)}
761     * method. This method does not instantiate a new collection.
762     * <p>
763     * This method is to be used internally only.
764     *
765     * @param transform one of the constants declared in <code>fr.ifremer.adagio.core.dao.referential.gear.FishingGearDao</code>
766     * @param entities the collection of entities to transform
767     * @see #transformEntity(int,FishingGear)
768     */
769    public void transformEntities(final int transform, final Collection<?> entities);
770
771    // spring-dao merge-point
772}