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.MultiPolygon;
30 import fr.ifremer.quadrige2.core.dao.referential.monitoringLocation.MonitoringLocation;
31 import java.io.Serializable;
32
33 /**
34 * Gestion de la géométrie surfacique des lieux de surveillance.
35 */
36 // HibernateEntity.vsl annotations merge-point
37 public abstract class MonLocArea
38 implements Serializable, Comparable<MonLocArea>
39 {
40 /**
41 * The serial version UID of this class. Needed for serialization.
42 */
43 private static final long serialVersionUID = 7537157545917558698L;
44
45 // Generate 2 attributes
46 private Integer monLocId;
47
48 /**
49 *
50 * @return this.monLocId Integer
51 */
52 public Integer getMonLocId()
53 {
54 return this.monLocId;
55 }
56
57 /**
58 *
59 * @param monLocIdIn Integer
60 */
61 public void setMonLocId(Integer monLocIdIn)
62 {
63 this.monLocId = monLocIdIn;
64 }
65
66 private MultiPolygon monLocPosition;
67
68 /**
69 * Positionnement de l'objet
70 * @return this.monLocPosition MultiPolygon
71 */
72 public MultiPolygon getMonLocPosition()
73 {
74 return this.monLocPosition;
75 }
76
77 /**
78 * Positionnement de l'objet
79 * @param monLocPositionIn MultiPolygon
80 */
81 public void setMonLocPosition(MultiPolygon monLocPositionIn)
82 {
83 this.monLocPosition = monLocPositionIn;
84 }
85
86 // Generate 1 associations
87 private MonitoringLocation monitoringLocation;
88
89 /**
90 * Liste les lieux associés aux programmes de surveillance.
91 * @return this.monitoringLocation MonitoringLocation
92 */
93 public MonitoringLocation getMonitoringLocation()
94 {
95 return this.monitoringLocation;
96 }
97
98 /**
99 * Liste les lieux associés aux programmes de surveillance.
100 * @param monitoringLocationIn MonitoringLocation
101 */
102 public void setMonitoringLocation(MonitoringLocation monitoringLocationIn)
103 {
104 this.monitoringLocation = monitoringLocationIn;
105 }
106
107 /**
108 * Returns <code>true</code> if the argument is an MonLocArea 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 MonLocArea))
119 {
120 return false;
121 }
122 final MonLocArea that = (MonLocArea)object;
123 if (this.monLocId == null || that.getMonLocId() == null || !this.monLocId.equals(that.getMonLocId()))
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.monLocId == null ? 0 : this.monLocId.hashCode());
138
139 return hashCode;
140 }
141
142 /**
143 * Constructs new instances of {@link MonLocArea}.
144 */
145 public static final class Factory
146 {
147 /**
148 * Constructs a new instance of {@link MonLocArea}.
149 * @return new MonLocAreaImpl()
150 */
151 public static MonLocArea newInstance()
152 {
153 return new MonLocAreaImpl();
154 }
155
156
157 /**
158 * Constructs a new instance of {@link MonLocArea}, taking all possible properties
159 * (except the identifier(s))as arguments.
160 * @param monLocPosition MultiPolygon
161 * @param monitoringLocation MonitoringLocation
162 * @return newInstance MonLocArea
163 */
164 public static MonLocArea newInstance(MultiPolygon monLocPosition, MonitoringLocation monitoringLocation)
165 {
166 final MonLocArea entity = new MonLocAreaImpl();
167 entity.setMonLocPosition(monLocPosition);
168 entity.setMonitoringLocation(monitoringLocation);
169 return entity;
170 }
171 }
172
173 /**
174 * @see Comparable#compareTo
175 */
176 public int compareTo(MonLocArea o)
177 {
178 int cmp = 0;
179 if (this.getMonLocId() != null)
180 {
181 cmp = this.getMonLocId().compareTo(o.getMonLocId());
182 }
183 else
184 {
185 if (this.getMonLocPosition() != null)
186 {
187 cmp = (cmp != 0 ? cmp : this.getMonLocPosition().compareTo(o.getMonLocPosition()));
188 }
189 }
190 return cmp;
191 }
192 // HibernateEntity.vsl merge-point
193 // MonLocArea.java merge-point
194 }