View Javadoc
1   // license-header java merge-point
2   //
3   // Attention: Generated code! Do not modify by hand!
4   // Generated by: hibernate/HibernateEntity.vsl in andromda-hibernate-cartridge.
5   //
6   package fr.ifremer.quadrige2.core.dao.system.versionning;
7   
8   /*-
9    * #%L
10   * Quadrige2 Core :: Server API
11   * %%
12   * Copyright (C) 2017 Ifremer
13   * %%
14   * This program is free software: you can redistribute it and/or modify
15   * it under the terms of the GNU Affero General Public License as published by
16   * the Free Software Foundation, either version 3 of the License, or
17   * (at your option) any later version.
18   * 
19   * This program is distributed in the hope that it will be useful,
20   * but WITHOUT ANY WARRANTY; without even the implied warranty of
21   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22   * GNU General Public License for more details.
23   * 
24   * You should have received a copy of the GNU Affero General Public License
25   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
26   * #L%
27   */
28  
29  import java.io.Serializable;
30  import java.sql.Timestamp;
31  import java.util.Date;
32  
33  /**
34   * Historiqque des versions du système.
35   * Chaque mise à jour du schéma entraine une insertion dans cette table.
36   */
37  // HibernateEntity.vsl annotations merge-point
38  public abstract class SystemVersion
39      implements Serializable, Comparable<SystemVersion>
40  {
41      /**
42       * The serial version UID of this class. Needed for serialization.
43       */
44      private static final long serialVersionUID = -4919399964114027008L;
45  
46      // Generate 6 attributes
47      private Integer systemVersionId;
48  
49      /**
50       * 
51       * @return this.systemVersionId Integer
52       */
53      public Integer getSystemVersionId()
54      {
55          return this.systemVersionId;
56      }
57  
58      /**
59       * 
60       * @param systemVersionIdIn Integer
61       */
62      public void setSystemVersionId(Integer systemVersionIdIn)
63      {
64          this.systemVersionId = systemVersionIdIn;
65      }
66  
67      private String systemVersionLb;
68  
69      /**
70       * <html>
71       * <head>
72       * <style>
73       * p {padding:0px; margin:0px;}
74       * </style>
75       * </head>
76       * <body>
77       * <p>
78       * The version string. Version identifiers should have three or four
79       * components:
80       * </p>
81       * <p>
82       * </p>
83       * <ol>
84       * <li>
85       * Major version. A non-negative integer.
86       * </li>
87       * <li>
88       * Minor version. A non-negative integer.
89       * </li>
90       * <li>
91       * Micro version. A non-negative integer.
92       * </li>
93       * <li>
94       * Qualifier (optional). A text string compatible with regex :
95       * ([0-9]|[a-zA-Z]|_|-)+
96       * </li>
97       * </ol>
98       * <p>
99       * </p>
100      * <p>
101      * See osgi Version specification : <a
102      * href="http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Version.html">http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Version.html</a>
103      * </p>
104      * <p>
105      * </p>
106      * <p>
107      * Example :
108      * </p>
109      * <ul>
110      * <li>
111      * 3.4.1
112      * </li>
113      * <li>
114      * 3.4.1.20130820
115      * </li>
116      * <li>
117      * ...
118      * </li>
119      * </ul>
120      * <p>
121      * </p>
122      * </body>
123      * </html>
124      * @return this.systemVersionLb String
125      */
126     public String getSystemVersionLb()
127     {
128         return this.systemVersionLb;
129     }
130 
131     /**
132      * <html>
133      * <head>
134      * <style>
135      * p {padding:0px; margin:0px;}
136      * </style>
137      * </head>
138      * <body>
139      * <p>
140      * The version string. Version identifiers should have three or four
141      * components:
142      * </p>
143      * <p>
144      * </p>
145      * <ol>
146      * <li>
147      * Major version. A non-negative integer.
148      * </li>
149      * <li>
150      * Minor version. A non-negative integer.
151      * </li>
152      * <li>
153      * Micro version. A non-negative integer.
154      * </li>
155      * <li>
156      * Qualifier (optional). A text string compatible with regex :
157      * ([0-9]|[a-zA-Z]|_|-)+
158      * </li>
159      * </ol>
160      * <p>
161      * </p>
162      * <p>
163      * See osgi Version specification : <a
164      * href="http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Version.html">http://www.osgi.org/javadoc/r4v42/org/osgi/framework/Version.html</a>
165      * </p>
166      * <p>
167      * </p>
168      * <p>
169      * Example :
170      * </p>
171      * <ul>
172      * <li>
173      * 3.4.1
174      * </li>
175      * <li>
176      * 3.4.1.20130820
177      * </li>
178      * <li>
179      * ...
180      * </li>
181      * </ul>
182      * <p>
183      * </p>
184      * </body>
185      * </html>
186      * @param systemVersionLbIn String
187      */
188     public void setSystemVersionLb(String systemVersionLbIn)
189     {
190         this.systemVersionLb = systemVersionLbIn;
191     }
192 
193     private String systemVersionDc;
194 
195     /**
196      * 
197      * @return this.systemVersionDc String
198      */
199     public String getSystemVersionDc()
200     {
201         return this.systemVersionDc;
202     }
203 
204     /**
205      * 
206      * @param systemVersionDcIn String
207      */
208     public void setSystemVersionDc(String systemVersionDcIn)
209     {
210         this.systemVersionDc = systemVersionDcIn;
211     }
212 
213     private Date systemVersionCreationDt;
214 
215     /**
216      * 
217      * @return this.systemVersionCreationDt Date
218      */
219     public Date getSystemVersionCreationDt()
220     {
221         return this.systemVersionCreationDt;
222     }
223 
224     /**
225      * 
226      * @param systemVersionCreationDtIn Date
227      */
228     public void setSystemVersionCreationDt(Date systemVersionCreationDtIn)
229     {
230         this.systemVersionCreationDt = systemVersionCreationDtIn;
231     }
232 
233     private String systemVersionCm;
234 
235     /**
236      * 
237      * @return this.systemVersionCm String
238      */
239     public String getSystemVersionCm()
240     {
241         return this.systemVersionCm;
242     }
243 
244     /**
245      * 
246      * @param systemVersionCmIn String
247      */
248     public void setSystemVersionCm(String systemVersionCmIn)
249     {
250         this.systemVersionCm = systemVersionCmIn;
251     }
252 
253     private Timestamp updateDt;
254 
255     /**
256      * 
257      * @return this.updateDt Timestamp
258      */
259     public Timestamp getUpdateDt()
260     {
261         return this.updateDt;
262     }
263 
264     /**
265      * 
266      * @param updateDtIn Timestamp
267      */
268     public void setUpdateDt(Timestamp updateDtIn)
269     {
270         this.updateDt = updateDtIn;
271     }
272 
273     // Generate 0 associations
274     /**
275      * Returns <code>true</code> if the argument is an SystemVersion instance and all identifiers for this entity
276      * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
277      */
278     @Override
279     public boolean equals(Object object)
280     {
281         if (this == object)
282         {
283             return true;
284         }
285         if (!(object instanceof SystemVersion))
286         {
287             return false;
288         }
289         final SystemVersion that = (SystemVersion)object;
290         if (this.systemVersionId == null || that.getSystemVersionId() == null || !this.systemVersionId.equals(that.getSystemVersionId()))
291         {
292             return false;
293         }
294         return true;
295     }
296 
297     /**
298      * Returns a hash code based on this entity's identifiers.
299      */
300     @Override
301     public int hashCode()
302     {
303         int hashCode = 0;
304         hashCode = 29 * hashCode + (this.systemVersionId == null ? 0 : this.systemVersionId.hashCode());
305 
306         return hashCode;
307     }
308 
309     /**
310      * Constructs new instances of {@link SystemVersion}.
311      */
312     public static final class Factory
313     {
314         /**
315          * Constructs a new instance of {@link SystemVersion}.
316          * @return new SystemVersionImpl()
317          */
318         public static SystemVersion newInstance()
319         {
320             return new SystemVersionImpl();
321         }
322 
323         /**
324          * Constructs a new instance of {@link SystemVersion}, taking all required and/or
325          * read-only properties as arguments, except for identifiers.
326          * @param systemVersionLb String
327          * @param systemVersionCreationDt Date
328          * @param updateDt Timestamp
329          * @return newInstance
330          */
331         public static SystemVersion newInstance(String systemVersionLb, Date systemVersionCreationDt, Timestamp updateDt)
332         {
333             final SystemVersion entity = new SystemVersionImpl();
334             entity.setSystemVersionLb(systemVersionLb);
335             entity.setSystemVersionCreationDt(systemVersionCreationDt);
336             entity.setUpdateDt(updateDt);
337             return entity;
338         }
339 
340         /**
341          * Constructs a new instance of {@link SystemVersion}, taking all possible properties
342          * (except the identifier(s))as arguments.
343          * @param systemVersionLb String
344          * @param systemVersionDc String
345          * @param systemVersionCreationDt Date
346          * @param systemVersionCm String
347          * @param updateDt Timestamp
348          * @return newInstance SystemVersion
349          */
350         public static SystemVersion newInstance(String systemVersionLb, String systemVersionDc, Date systemVersionCreationDt, String systemVersionCm, Timestamp updateDt)
351         {
352             final SystemVersion entity = new SystemVersionImpl();
353             entity.setSystemVersionLb(systemVersionLb);
354             entity.setSystemVersionDc(systemVersionDc);
355             entity.setSystemVersionCreationDt(systemVersionCreationDt);
356             entity.setSystemVersionCm(systemVersionCm);
357             entity.setUpdateDt(updateDt);
358             return entity;
359         }
360     }
361 
362     /**
363      * @see Comparable#compareTo
364      */
365     public int compareTo(SystemVersion o)
366     {
367         int cmp = 0;
368         if (this.getSystemVersionId() != null)
369         {
370             cmp = this.getSystemVersionId().compareTo(o.getSystemVersionId());
371         }
372         else
373         {
374             if (this.getSystemVersionLb() != null)
375             {
376                 cmp = (cmp != 0 ? cmp : this.getSystemVersionLb().compareTo(o.getSystemVersionLb()));
377             }
378             if (this.getSystemVersionDc() != null)
379             {
380                 cmp = (cmp != 0 ? cmp : this.getSystemVersionDc().compareTo(o.getSystemVersionDc()));
381             }
382             if (this.getSystemVersionCreationDt() != null)
383             {
384                 cmp = (cmp != 0 ? cmp : this.getSystemVersionCreationDt().compareTo(o.getSystemVersionCreationDt()));
385             }
386             if (this.getSystemVersionCm() != null)
387             {
388                 cmp = (cmp != 0 ? cmp : this.getSystemVersionCm().compareTo(o.getSystemVersionCm()));
389             }
390             if (this.getUpdateDt() != null)
391             {
392                 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
393             }
394         }
395         return cmp;
396     }
397 // HibernateEntity.vsl merge-point
398 // SystemVersion.java merge-point
399 }