View Javadoc
1   package fr.ifremer.reefdb.ui.swing.content.manage.rule.rulelist;
2   
3   /*
4    * #%L
5    * Reef DB :: UI
6    * $Id:$
7    * $HeadURL:$
8    * %%
9    * Copyright (C) 2014 - 2015 Ifremer
10   * %%
11   * This program is free software: you can redistribute it and/or modify
12   * it under the terms of the GNU Affero General Public License as published by
13   * the Free Software Foundation, either version 3 of the License, or
14   * (at your option) any later version.
15   * 
16   * This program is distributed in the hope that it will be useful,
17   * but WITHOUT ANY WARRANTY; without even the implied warranty of
18   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19   * GNU General Public License for more details.
20   * 
21   * You should have received a copy of the GNU Affero General Public License
22   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
23   * #L%
24   */
25  
26  import fr.ifremer.quadrige3.core.dao.referential.StatusCode;
27  import fr.ifremer.quadrige3.ui.core.dto.MonthDTO;
28  import fr.ifremer.reefdb.dao.technical.Daos;
29  import fr.ifremer.reefdb.dto.ErrorDTO;
30  import fr.ifremer.reefdb.dto.ReefDbBeanFactory;
31  import fr.ifremer.reefdb.dto.ReefDbBeans;
32  import fr.ifremer.reefdb.dto.configuration.control.ControlRuleDTO;
33  import fr.ifremer.reefdb.dto.configuration.control.RuleListDTO;
34  import fr.ifremer.reefdb.dto.configuration.programStrategy.ProgramDTO;
35  import fr.ifremer.reefdb.dto.referential.DepartmentDTO;
36  import fr.ifremer.quadrige3.ui.core.dto.referential.StatusDTO;
37  import fr.ifremer.reefdb.ui.swing.util.table.AbstractReefDbRowUIModel;
38  import org.nuiton.util.beans.Binder;
39  import org.nuiton.util.beans.BinderFactory;
40  
41  import java.util.Collection;
42  import java.util.Date;
43  
44  /**
45   * <p>RuleListRowModel class.</p>
46   *
47   * @author Antoine
48   */
49  public class RuleListRowModel extends AbstractReefDbRowUIModel<RuleListDTO, RuleListRowModel> implements RuleListDTO {
50  
51      private static final Binder<RuleListDTO, RuleListRowModel> FROM_BEAN_BINDER =
52              BinderFactory.newBinder(RuleListDTO.class, RuleListRowModel.class);
53  
54      private static final Binder<RuleListRowModel, RuleListDTO> TO_BEAN_BINDER =
55              BinderFactory.newBinder(RuleListRowModel.class, RuleListDTO.class);
56  
57      public static final String PROPERTY_LOCAL = "local";
58  
59      private boolean localEditable;
60  
61      /**
62       * <p>Constructor for RuleListRowModel.</p>
63       */
64      RuleListRowModel() {
65          super(FROM_BEAN_BINDER, TO_BEAN_BINDER);
66      }
67  
68      @Override
69      public boolean isEditable() {
70          // a rule list can be read only if not compatible
71          return super.isEditable() && !isReadOnly();
72      }
73  
74      /** {@inheritDoc} */
75      @Override
76      protected RuleListDTO newBean() {
77          return ReefDbBeanFactory.newRuleListDTO();
78      }
79  
80      /** {@inheritDoc} */
81      @Override
82      public String getCode() {
83          return delegateObject.getCode();
84      }
85  
86      /** {@inheritDoc} */
87      @Override
88      public void setCode(String code) {
89          delegateObject.setCode(code);
90      }
91  
92      /** {@inheritDoc} */
93      @Override
94      public boolean isActive() {
95          return delegateObject.isActive();
96      }
97  
98      /** {@inheritDoc} */
99      @Override
100     public void setActive(boolean Active) {
101         delegateObject.setActive(Active);
102     }
103 
104     /** {@inheritDoc} */
105     @Override
106     public MonthDTO getStartMonth() {
107         return delegateObject.getStartMonth();
108     }
109 
110     /** {@inheritDoc} */
111     @Override
112     public void setStartMonth(MonthDTO StartMonth) {
113         delegateObject.setStartMonth(StartMonth);
114     }
115 
116     /** {@inheritDoc} */
117     @Override
118     public MonthDTO getEndMonth() {
119         return delegateObject.getEndMonth();
120     }
121 
122     /** {@inheritDoc} */
123     @Override
124     public void setEndMonth(MonthDTO EndMonth) {
125         delegateObject.setEndMonth(EndMonth);
126     }
127 
128     /** {@inheritDoc} */
129     @Override
130     public String getDescription() {
131         return delegateObject.getDescription();
132     }
133 
134     /** {@inheritDoc} */
135     @Override
136     public void setDescription(String description) {
137         delegateObject.setDescription(description);
138     }
139 
140     /** {@inheritDoc} */
141     @Override
142     public boolean isDirty() {
143         return delegateObject.isDirty();
144     }
145 
146     /** {@inheritDoc} */
147     @Override
148     public void setDirty(boolean dirty) {
149         delegateObject.setDirty(dirty);
150     }
151 
152     /** {@inheritDoc} */
153     @Override
154     public ProgramDTO getPrograms(int index) {
155         return delegateObject.getPrograms(index);
156     }
157 
158     /** {@inheritDoc} */
159     @Override
160     public boolean isProgramsEmpty() {
161         return delegateObject.isProgramsEmpty();
162     }
163 
164     /** {@inheritDoc} */
165     @Override
166     public int sizePrograms() {
167         return delegateObject.sizePrograms();
168     }
169 
170     /** {@inheritDoc} */
171     @Override
172     public void addPrograms(ProgramDTO Program) {
173         delegateObject.addPrograms(Program);
174     }
175 
176     /** {@inheritDoc} */
177     @Override
178     public void addAllPrograms(Collection<ProgramDTO> Program) {
179         delegateObject.addAllPrograms(Program);
180     }
181 
182     /** {@inheritDoc} */
183     @Override
184     public boolean removePrograms(ProgramDTO Program) {
185         return delegateObject.removePrograms(Program);
186     }
187 
188     /** {@inheritDoc} */
189     @Override
190     public boolean removeAllPrograms(Collection<ProgramDTO> Program) {
191         return delegateObject.removeAllPrograms(Program);
192     }
193 
194     /** {@inheritDoc} */
195     @Override
196     public boolean containsPrograms(ProgramDTO Program) {
197         return delegateObject.containsPrograms(Program);
198     }
199 
200     /** {@inheritDoc} */
201     @Override
202     public boolean containsAllPrograms(Collection<ProgramDTO> Program) {
203         return delegateObject.containsAllPrograms(Program);
204     }
205 
206     /** {@inheritDoc} */
207     @Override
208     public Collection<ProgramDTO> getPrograms() {
209         return delegateObject.getPrograms();
210     }
211 
212     /** {@inheritDoc} */
213     @Override
214     public void setPrograms(Collection<ProgramDTO> Program) {
215         delegateObject.setPrograms(Program);
216     }
217 
218     /** {@inheritDoc} */
219     @Override
220     public DepartmentDTO getDepartments(int index) {
221         return delegateObject.getDepartments(index);
222     }
223 
224     /** {@inheritDoc} */
225     @Override
226     public boolean isDepartmentsEmpty() {
227         return delegateObject.isDepartmentsEmpty();
228     }
229 
230     /** {@inheritDoc} */
231     @Override
232     public int sizeDepartments() {
233         return delegateObject.sizeDepartments();
234     }
235 
236     /** {@inheritDoc} */
237     @Override
238     public void addDepartments(DepartmentDTO service) {
239         delegateObject.addDepartments(service);
240     }
241 
242     /** {@inheritDoc} */
243     @Override
244     public void addAllDepartments(Collection<DepartmentDTO> service) {
245         delegateObject.addAllDepartments(service);
246     }
247 
248     /** {@inheritDoc} */
249     @Override
250     public boolean removeDepartments(DepartmentDTO service) {
251         return delegateObject.removeDepartments(service);
252     }
253 
254     /** {@inheritDoc} */
255     @Override
256     public boolean removeAllDepartments(Collection<DepartmentDTO> service) {
257         return delegateObject.removeAllDepartments(service);
258     }
259 
260     /** {@inheritDoc} */
261     @Override
262     public boolean containsDepartments(DepartmentDTO service) {
263         return delegateObject.containsDepartments(service);
264     }
265 
266     /** {@inheritDoc} */
267     @Override
268     public boolean containsAllDepartments(Collection<DepartmentDTO> service) {
269         return delegateObject.containsAllDepartments(service);
270     }
271 
272     /** {@inheritDoc} */
273     @Override
274     public Collection<DepartmentDTO> getDepartments() {
275         return delegateObject.getDepartments();
276     }
277 
278     /** {@inheritDoc} */
279     @Override
280     public void setDepartments(Collection<DepartmentDTO> service) {
281         delegateObject.setDepartments(service);
282     }
283 
284     /** {@inheritDoc} */
285     @Override
286     public ErrorDTO getErrors(int index) {
287         return delegateObject.getErrors(index);
288     }
289 
290     /** {@inheritDoc} */
291     @Override
292     public boolean isErrorsEmpty() {
293         return delegateObject.isErrorsEmpty();
294     }
295 
296     /** {@inheritDoc} */
297     @Override
298     public int sizeErrors() {
299         return delegateObject.sizeErrors();
300     }
301 
302     /** {@inheritDoc} */
303     @Override
304     public void addErrors(ErrorDTO errors) {
305         delegateObject.addErrors(errors);
306     }
307 
308     /** {@inheritDoc} */
309     @Override
310     public void addAllErrors(Collection<ErrorDTO> errors) {
311         delegateObject.addAllErrors(errors);
312     }
313 
314     /** {@inheritDoc} */
315     @Override
316     public boolean removeErrors(ErrorDTO errors) {
317         return delegateObject.removeErrors(errors);
318     }
319 
320     /** {@inheritDoc} */
321     @Override
322     public boolean removeAllErrors(Collection<ErrorDTO> errors) {
323         return delegateObject.removeAllErrors(errors);
324     }
325 
326     /** {@inheritDoc} */
327     @Override
328     public boolean containsErrors(ErrorDTO errors) {
329         return delegateObject.containsErrors(errors);
330     }
331 
332     /** {@inheritDoc} */
333     @Override
334     public boolean containsAllErrors(Collection<ErrorDTO> errors) {
335         return delegateObject.containsAllErrors(errors);
336     }
337 
338     /** {@inheritDoc} */
339     @Override
340     public Collection<ErrorDTO> getErrors() {
341         return delegateObject.getErrors();
342     }
343 
344     /** {@inheritDoc} */
345     @Override
346     public void setErrors(Collection<ErrorDTO> errors) {
347         delegateObject.setErrors(errors);
348     }
349 
350     /** {@inheritDoc} */
351     @Override
352     public ControlRuleDTO getControlRules(int index) {
353         return delegateObject.getControlRules(index);
354     }
355 
356     /** {@inheritDoc} */
357     @Override
358     public boolean isControlRulesEmpty() {
359         return delegateObject.isControlRulesEmpty();
360     }
361 
362     /** {@inheritDoc} */
363     @Override
364     public int sizeControlRules() {
365         return delegateObject.sizeControlRules();
366     }
367 
368     /** {@inheritDoc} */
369     @Override
370     public void addControlRules(ControlRuleDTO ControlRule) {
371         delegateObject.addControlRules(ControlRule);
372     }
373 
374     /** {@inheritDoc} */
375     @Override
376     public void addAllControlRules(Collection<ControlRuleDTO> ControlRule) {
377         delegateObject.addAllControlRules(ControlRule);
378     }
379 
380     /** {@inheritDoc} */
381     @Override
382     public boolean removeControlRules(ControlRuleDTO ControlRule) {
383         return delegateObject.removeControlRules(ControlRule);
384     }
385 
386     /** {@inheritDoc} */
387     @Override
388     public boolean removeAllControlRules(Collection<ControlRuleDTO> ControlRule) {
389         return delegateObject.removeAllControlRules(ControlRule);
390     }
391 
392     /** {@inheritDoc} */
393     @Override
394     public boolean containsControlRules(ControlRuleDTO ControlRule) {
395         return delegateObject.containsControlRules(ControlRule);
396     }
397 
398     /** {@inheritDoc} */
399     @Override
400     public boolean containsAllControlRules(Collection<ControlRuleDTO> ControlRule) {
401         return delegateObject.containsAllControlRules(ControlRule);
402     }
403 
404     /** {@inheritDoc} */
405     @Override
406     public Collection<ControlRuleDTO> getControlRules() {
407         return delegateObject.getControlRules();
408     }
409 
410     /** {@inheritDoc} */
411     @Override
412     public void setControlRules(Collection<ControlRuleDTO> ControlRule) {
413         delegateObject.setControlRules(ControlRule);
414     }
415 
416     /** {@inheritDoc} */
417     @Override
418     public boolean isNewCode() {
419         return delegateObject.isNewCode();
420     }
421 
422     /** {@inheritDoc} */
423     @Override
424     public void setNewCode(boolean newCode) {
425         delegateObject.setNewCode(newCode);
426     }
427 
428     @Override
429     public boolean isReadOnly() {
430         return delegateObject.isReadOnly();
431     }
432 
433     @Override
434     public void setReadOnly(boolean readOnly) {
435         delegateObject.setReadOnly(readOnly);
436     }
437 
438     @Override
439     public String getName() {
440         return delegateObject.getName();
441     }
442 
443     @Override
444     public void setName(String name) {
445         delegateObject.setName(name);
446     }
447 
448     @Override
449     public StatusDTO getStatus() {
450         return delegateObject.getStatus();
451     }
452 
453     @Override
454     public void setStatus(StatusDTO status) {
455         delegateObject.setStatus(status);
456     }
457 
458     public boolean isLocal() {
459         return getStatus() != null && ReefDbBeans.isLocalStatus(getStatus());
460     }
461 
462     public void setLocal(boolean local) {
463         setStatus(Daos.getStatus(local ? StatusCode.LOCAL_ENABLE : StatusCode.ENABLE));
464     }
465 
466     boolean isLocalEditable() {
467         return localEditable;
468     }
469 
470     void setLocalEditable(boolean localEditable) {
471         this.localEditable = localEditable;
472     }
473 
474     @Override
475     public Date getCreationDate() {
476         return delegateObject.getCreationDate();
477     }
478 
479     @Override
480     public void setCreationDate(Date date) {
481         delegateObject.setCreationDate(date);
482     }
483 
484     @Override
485     public Date getUpdateDate() {
486         return delegateObject.getUpdateDate();
487     }
488 
489     @Override
490     public void setUpdateDate(Date date) {
491         delegateObject.setUpdateDate(date);
492     }
493 
494 
495 }