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 }