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;
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 com.vividsolutions.jts.geom.MultiLineString;
30 import fr.ifremer.quadrige2.core.dao.data.event.Event;
31 import java.io.Serializable;
32
33 /**
34 * Gestion de la géométrie linéaire des évènements.
35 */
36 // HibernateEntity.vsl annotations merge-point
37 public abstract class EventLine
38 implements Serializable, Comparable<EventLine>
39 {
40 /**
41 * The serial version UID of this class. Needed for serialization.
42 */
43 private static final long serialVersionUID = -4413469153516945857L;
44
45 // Generate 2 attributes
46 private Integer eventId;
47
48 /**
49 *
50 * @return this.eventId Integer
51 */
52 public Integer getEventId()
53 {
54 return this.eventId;
55 }
56
57 /**
58 *
59 * @param eventIdIn Integer
60 */
61 public void setEventId(Integer eventIdIn)
62 {
63 this.eventId = eventIdIn;
64 }
65
66 private MultiLineString eventPosition;
67
68 /**
69 * Positionnement de l'objet
70 * @return this.eventPosition MultiLineString
71 */
72 public MultiLineString getEventPosition()
73 {
74 return this.eventPosition;
75 }
76
77 /**
78 * Positionnement de l'objet
79 * @param eventPositionIn MultiLineString
80 */
81 public void setEventPosition(MultiLineString eventPositionIn)
82 {
83 this.eventPosition = eventPositionIn;
84 }
85
86 // Generate 1 associations
87 private Event event;
88
89 /**
90 * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
91 * @return this.event Event
92 */
93 public Event getEvent()
94 {
95 return this.event;
96 }
97
98 /**
99 * Liste les événements qui peuvent avoir ou non un rapport avec un passage.
100 * @param eventIn Event
101 */
102 public void setEvent(Event eventIn)
103 {
104 this.event = eventIn;
105 }
106
107 /**
108 * Returns <code>true</code> if the argument is an EventLine instance and all identifiers for this entity
109 * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
110 */
111 @Override
112 public boolean equals(Object object)
113 {
114 if (this == object)
115 {
116 return true;
117 }
118 if (!(object instanceof EventLine))
119 {
120 return false;
121 }
122 final EventLine that = (EventLine)object;
123 if (this.eventId == null || that.getEventId() == null || !this.eventId.equals(that.getEventId()))
124 {
125 return false;
126 }
127 return true;
128 }
129
130 /**
131 * Returns a hash code based on this entity's identifiers.
132 */
133 @Override
134 public int hashCode()
135 {
136 int hashCode = 0;
137 hashCode = 29 * hashCode + (this.eventId == null ? 0 : this.eventId.hashCode());
138
139 return hashCode;
140 }
141
142 /**
143 * Constructs new instances of {@link EventLine}.
144 */
145 public static final class Factory
146 {
147 /**
148 * Constructs a new instance of {@link EventLine}.
149 * @return new EventLineImpl()
150 */
151 public static EventLine newInstance()
152 {
153 return new EventLineImpl();
154 }
155
156
157 /**
158 * Constructs a new instance of {@link EventLine}, taking all possible properties
159 * (except the identifier(s))as arguments.
160 * @param eventPosition MultiLineString
161 * @param event Event
162 * @return newInstance EventLine
163 */
164 public static EventLine newInstance(MultiLineString eventPosition, Event event)
165 {
166 final EventLine entity = new EventLineImpl();
167 entity.setEventPosition(eventPosition);
168 entity.setEvent(event);
169 return entity;
170 }
171 }
172
173 /**
174 * @see Comparable#compareTo
175 */
176 public int compareTo(EventLine o)
177 {
178 int cmp = 0;
179 if (this.getEventId() != null)
180 {
181 cmp = this.getEventId().compareTo(o.getEventId());
182 }
183 else
184 {
185 if (this.getEventPosition() != null)
186 {
187 cmp = (cmp != 0 ? cmp : this.getEventPosition().compareTo(o.getEventPosition()));
188 }
189 }
190 return cmp;
191 }
192 // HibernateEntity.vsl merge-point
193 // EventLine.java merge-point
194 }