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