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.quadrige3.core.dao.administration.program;
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 fr.ifremer.quadrige3.core.dao.referential.monitoringLocation.MonitoringLocation;
29  import java.io.Serializable;
30  import java.sql.Timestamp;
31  
32  /**
33   * Liste des lieux surveillés par un programme.
34   */
35  // HibernateEntity.vsl annotations merge-point
36  public abstract class MonLocProg
37      implements Serializable, Comparable<MonLocProg>
38  {
39      /**
40       * The serial version UID of this class. Needed for serialization.
41       */
42      private static final long serialVersionUID = 338046219447421036L;
43  
44      // Generate 2 attributes
45      private Integer monLocProgId;
46  
47      /**
48       * 
49       * @return this.monLocProgId Integer
50       */
51      public Integer getMonLocProgId()
52      {
53          return this.monLocProgId;
54      }
55  
56      /**
57       * 
58       * @param monLocProgIdIn Integer
59       */
60      public void setMonLocProgId(Integer monLocProgIdIn)
61      {
62          this.monLocProgId = monLocProgIdIn;
63      }
64  
65      private Timestamp updateDt;
66  
67      /**
68       * Date de modification de l'objet, mise à jour par le système
69       * @return this.updateDt Timestamp
70       */
71      public Timestamp getUpdateDt()
72      {
73          return this.updateDt;
74      }
75  
76      /**
77       * Date de modification de l'objet, mise à jour par le système
78       * @param updateDtIn Timestamp
79       */
80      public void setUpdateDt(Timestamp updateDtIn)
81      {
82          this.updateDt = updateDtIn;
83      }
84  
85      // Generate 3 associations
86      private Program program;
87  
88      /**
89       * Activités à l'origine de la collecte d'un ensemble cohérent de données.
90       * @return this.program Program
91       */
92      public Program getProgram()
93      {
94          return this.program;
95      }
96  
97      /**
98       * Activités à l'origine de la collecte d'un ensemble cohérent de données.
99       * @param programIn Program
100      */
101     public void setProgram(Program programIn)
102     {
103         this.program = programIn;
104     }
105 
106     private MonitoringLocation monitoringLocation;
107 
108     /**
109      * Liste les lieux associés aux programmes de surveillance.
110      * @return this.monitoringLocation MonitoringLocation
111      */
112     public MonitoringLocation getMonitoringLocation()
113     {
114         return this.monitoringLocation;
115     }
116 
117     /**
118      * Liste les lieux associés aux programmes de surveillance.
119      * @param monitoringLocationIn MonitoringLocation
120      */
121     public void setMonitoringLocation(MonitoringLocation monitoringLocationIn)
122     {
123         this.monitoringLocation = monitoringLocationIn;
124     }
125 
126     /**
127      * Returns <code>true</code> if the argument is an MonLocProg instance and all identifiers for this entity
128      * equal the identifiers of the argument entity. Returns <code>false</code> otherwise.
129      */
130     @Override
131     public boolean equals(Object object)
132     {
133         if (this == object)
134         {
135             return true;
136         }
137         if (!(object instanceof MonLocProg))
138         {
139             return false;
140         }
141         final MonLocProg that = (MonLocProg)object;
142         if (this.monLocProgId == null || that.getMonLocProgId() == null || !this.monLocProgId.equals(that.getMonLocProgId()))
143         {
144             return false;
145         }
146         return true;
147     }
148 
149     /**
150      * Returns a hash code based on this entity's identifiers.
151      */
152     @Override
153     public int hashCode()
154     {
155         int hashCode = 0;
156         hashCode = 29 * hashCode + (this.monLocProgId == null ? 0 : this.monLocProgId.hashCode());
157 
158         return hashCode;
159     }
160 
161     /**
162      * Constructs new instances of {@link MonLocProg}.
163      */
164     public static final class Factory
165     {
166         /**
167          * Constructs a new instance of {@link MonLocProg}.
168          * @return new MonLocProgImpl()
169          */
170         public static MonLocProg newInstance()
171         {
172             return new MonLocProgImpl();
173         }
174 
175         /**
176          * Constructs a new instance of {@link MonLocProg}, taking all required and/or
177          * read-only properties as arguments, except for identifiers.
178          * @param program Program
179          * @param monitoringLocation MonitoringLocation
180          * @return newInstance
181          */
182         public static MonLocProg newInstance(Program program, MonitoringLocation monitoringLocation)
183         {
184             final MonLocProg entity = new MonLocProgImpl();
185             entity.setProgram(program);
186             entity.setMonitoringLocation(monitoringLocation);
187             return entity;
188         }
189 
190         /**
191          * Constructs a new instance of {@link MonLocProg}, taking all possible properties
192          * (except the identifier(s))as arguments.
193          * @param updateDt Timestamp
194          * @param program Program
195          * @param monitoringLocation MonitoringLocation
196          * @return newInstance MonLocProg
197          */
198         public static MonLocProg newInstance(Timestamp updateDt, Program program, MonitoringLocation monitoringLocation)
199         {
200             final MonLocProg entity = new MonLocProgImpl();
201             entity.setUpdateDt(updateDt);
202             entity.setProgram(program);
203             entity.setMonitoringLocation(monitoringLocation);
204             return entity;
205         }
206     }
207 
208     /**
209      * @see Comparable#compareTo
210      */
211     public int compareTo(MonLocProg o)
212     {
213         int cmp = 0;
214         if (this.getMonLocProgId() != null)
215         {
216             cmp = this.getMonLocProgId().compareTo(o.getMonLocProgId());
217         }
218         else
219         {
220             if (this.getUpdateDt() != null)
221             {
222                 cmp = (cmp != 0 ? cmp : this.getUpdateDt().compareTo(o.getUpdateDt()));
223             }
224         }
225         return cmp;
226     }
227 // HibernateEntity.vsl merge-point
228 // MonLocProg.java merge-point
229 }