View Javadoc
1   /*
2    * Copyright (c) 2002-2022, City of Paris
3    * All rights reserved.
4    *
5    * Redistribution and use in source and binary forms, with or without
6    * modification, are permitted provided that the following conditions
7    * are met:
8    *
9    *  1. Redistributions of source code must retain the above copyright notice
10   *     and the following disclaimer.
11   *
12   *  2. Redistributions in binary form must reproduce the above copyright notice
13   *     and the following disclaimer in the documentation and/or other materials
14   *     provided with the distribution.
15   *
16   *  3. Neither the name of 'Mairie de Paris' nor 'Lutece' nor the names of its
17   *     contributors may be used to endorse or promote products derived from
18   *     this software without specific prior written permission.
19   *
20   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23   * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24   * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25   * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26   * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27   * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28   * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29   * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30   * POSSIBILITY OF SUCH DAMAGE.
31   *
32   * License 1.0
33   */
34  package fr.paris.lutece.plugins.appointment.business.rule;
35  
36  import java.io.Serializable;
37  import java.util.List;
38  import fr.paris.lutece.plugins.appointment.business.planning.WorkingDay;
39  
40  /**
41   * Business class of the rules of the reservation
42   * 
43   * @author Laurent Payen
44   *
45   */
46  public class ReservationRule implements Serializable
47  {
48  
49      /**
50       * Serial version UID
51       */
52      private static final long serialVersionUID = -5154752950203822668L;
53  
54      /**
55       * Id of the reservation rule.
56       */
57      private int _nIdReservationRule;
58  
59      /**
60       * Name of the rule
61       */
62      private String _strName;
63  
64      /**
65       * description of the rule
66       */
67      private String _strDescriptionRule;
68  
69      /**
70       * the color of the rule
71       */
72      private String _strColor;
73      /**
74       * enable rule
75       */
76      private boolean _bEnable = true;
77  
78      /**
79       * Maximum capacity for a slot
80       */
81      private int _nMaxCapacityPerSlot = 1;
82  
83      /**
84       * Maximum number of people authorized for an appointment
85       */
86      private int _nMaxPeoplePerAppointment = 1;
87      /**
88       * The duration of an appointment
89       */
90      private int _nDurationAppointments;
91  
92      /**
93       * The Form Id the Reservation Rule belongs to (foreign key)
94       */
95      private int _nIdForm;
96  
97      /**
98       * List of the working days that define the week definition
99       */
100     private List<WorkingDay> _listWorkingDays;
101 
102     /**
103      * Get the id of the rule of the reservation
104      * 
105      * @return the id of the rule of the reservation
106      */
107     public int getIdReservationRule( )
108     {
109         return _nIdReservationRule;
110     }
111 
112     /**
113      * Set the id of the rule of the reservation
114      * 
115      * @param nIdReservationRule
116      *            the id to set
117      */
118     public void setIdReservationRule( int nIdReservationRule )
119     {
120         this._nIdReservationRule = nIdReservationRule;
121     }
122 
123     /**
124      * Returns the Name
125      * 
126      * @return The Name
127      */
128     public String getName( )
129     {
130         return _strName;
131     }
132 
133     /**
134      * Sets the Name
135      * 
136      * @param strName
137      *            The Name
138      */
139     public void setName( String strName )
140     {
141         _strName = strName;
142     }
143 
144     /**
145      * Returns the Description
146      * 
147      * @return The Description
148      */
149     public String getDescriptionRule( )
150     {
151         return _strDescriptionRule;
152     }
153 
154     /**
155      * Sets the Description
156      * 
157      * @param strDescription
158      *            The Description
159      */
160     public void setDescriptionRule( String strDescription )
161     {
162         _strDescriptionRule = strDescription;
163     }
164 
165     /**
166      * Returns the Color
167      * 
168      * @return The Color
169      */
170     public String getColor( )
171     {
172         return _strColor;
173     }
174 
175     /**
176      * Sets the Color
177      * 
178      * @param strColor
179      *            The Color
180      */
181     public void setColor( String strColor )
182     {
183         _strColor = strColor;
184     }
185 
186     /**
187      * Returns the Enable
188      * 
189      * @return The Enable
190      */
191     public boolean getEnable( )
192     {
193         return _bEnable;
194     }
195 
196     /**
197      * Sets the Enable
198      * 
199      * @param bEnable
200      *            The Enable
201      */
202     public void setEnable( boolean bEnable )
203     {
204         _bEnable = bEnable;
205     }
206 
207     /**
208      * Get the maximum capacity for a slot
209      * 
210      * @return the maximum capacity for a slot
211      */
212     public int getMaxCapacityPerSlot( )
213     {
214         return _nMaxCapacityPerSlot;
215     }
216 
217     /**
218      * Set the maximum capacity for a slot
219      * 
220      * @param nMaxCapacityPerSlot
221      *            the maximum capacity for a slot
222      */
223     public void setMaxCapacityPerSlot( int nMaxCapacityPerSlot )
224     {
225         this._nMaxCapacityPerSlot = nMaxCapacityPerSlot;
226     }
227 
228     /**
229      * Get the maximum number of people authorized for an appointment
230      * 
231      * @return the maximum number of people authorized for an appointment
232      */
233     public int getMaxPeoplePerAppointment( )
234     {
235         return _nMaxPeoplePerAppointment;
236     }
237 
238     /**
239      * Set the maximum number of people authorized for an appointment
240      * 
241      * @param nMaxPeoplePerAppointment
242      *            the maximum of people to set
243      */
244     public void setMaxPeoplePerAppointment( int nMaxPeoplePerAppointment )
245     {
246         this._nMaxPeoplePerAppointment = nMaxPeoplePerAppointment;
247     }
248 
249     /**
250      * Returns the duration of an appointment
251      * 
252      * @return The duration of an appointment
253      */
254     public int getDurationAppointments( )
255     {
256         return _nDurationAppointments;
257     }
258 
259     /**
260      * Sets the duration of an appointment
261      * 
262      * @param nDurationAppointments
263      *            The Duration of an Appointments
264      */
265     public void setDurationAppointments( int nDurationAppointments )
266     {
267         _nDurationAppointments = nDurationAppointments;
268     }
269 
270     /**
271      * Get the Form Id the Reservation Rule belongs to
272      * 
273      * @return the Form Id
274      */
275     public int getIdForm( )
276     {
277         return _nIdForm;
278     }
279 
280     /**
281      * Set the Form Id the Reservation Rule belongs to
282      * 
283      * @param nIdForm
284      *            the Form Id tp set
285      */
286     public void setIdForm( int nIdForm )
287     {
288         this._nIdForm = nIdForm;
289     }
290 
291     /**
292      * Get the list of the working days of the week
293      * 
294      * @return the list of the working days for the week
295      */
296     public List<WorkingDay> getListWorkingDay( )
297     {
298         return _listWorkingDays;
299     }
300 
301     /**
302      * Set the working days for the week
303      * 
304      * @param _listWorkingDays
305      *            the list o f working days to set
306      */
307     public void setListWorkingDay( List<WorkingDay> listWorkingDays )
308     {
309         this._listWorkingDays = listWorkingDays;
310     }
311 
312 }