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;
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.data.event.Event;
31  import java.io.Serializable;
32  
33  /**
34   * Gestion de la géométrie surfacique des évènements.
35   */
36  // HibernateEntity.vsl annotations merge-point
37  public abstract class EventArea
38      implements Serializable, Comparable<EventArea>
39  {
40      /**
41       * The serial version UID of this class. Needed for serialization.
42       */
43      private static final long serialVersionUID = 5421777308498423881L;
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 MultiPolygon eventPosition;
67  
68      /**
69       * Positionnement de l'objet
70       * @return this.eventPosition MultiPolygon
71       */
72      public MultiPolygon getEventPosition()
73      {
74          return this.eventPosition;
75      }
76  
77      /**
78       * Positionnement de l'objet
79       * @param eventPositionIn MultiPolygon
80       */
81      public void setEventPosition(MultiPolygon 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 EventArea 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 EventArea))
119         {
120             return false;
121         }
122         final EventArea that = (EventArea)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 EventArea}.
144      */
145     public static final class Factory
146     {
147         /**
148          * Constructs a new instance of {@link EventArea}.
149          * @return new EventAreaImpl()
150          */
151         public static EventArea newInstance()
152         {
153             return new EventAreaImpl();
154         }
155 
156 
157         /**
158          * Constructs a new instance of {@link EventArea}, taking all possible properties
159          * (except the identifier(s))as arguments.
160          * @param eventPosition MultiPolygon
161          * @param event Event
162          * @return newInstance EventArea
163          */
164         public static EventArea newInstance(MultiPolygon eventPosition, Event event)
165         {
166             final EventArea entity = new EventAreaImpl();
167             entity.setEventPosition(eventPosition);
168             entity.setEvent(event);
169             return entity;
170         }
171     }
172 
173     /**
174      * @see Comparable#compareTo
175      */
176     public int compareTo(EventArea 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 // EventArea.java merge-point
194 }