View Javadoc
1   package fr.ifremer.dali.ui.swing.content.manage.referential.taxongroup.table;
2   
3   /*
4    * #%L
5    * Dali :: 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.dali.dto.ErrorAware;
27  import fr.ifremer.dali.dto.ErrorDTO;
28  import fr.ifremer.dali.dto.DaliBeanFactory;
29  import fr.ifremer.quadrige3.ui.core.dto.referential.StatusDTO;
30  import fr.ifremer.dali.dto.referential.TaxonDTO;
31  import fr.ifremer.dali.dto.referential.TaxonGroupDTO;
32  import fr.ifremer.dali.ui.swing.util.table.AbstractDaliRowUIModel;
33  import org.nuiton.util.beans.Binder;
34  import org.nuiton.util.beans.BinderFactory;
35  
36  import java.util.ArrayList;
37  import java.util.Collection;
38  import java.util.Date;
39  import java.util.List;
40  
41  /**
42   * <p>TaxonGroupTableRowModel class.</p>
43   *
44   * @author Antoine
45   */
46  public class TaxonGroupTableRowModel extends AbstractDaliRowUIModel<TaxonGroupDTO, TaxonGroupTableRowModel> implements TaxonGroupDTO, ErrorAware {
47  
48      private static final Binder<TaxonGroupDTO, TaxonGroupTableRowModel> FROM_BEAN_BINDER =
49              BinderFactory.newBinder(TaxonGroupDTO.class, TaxonGroupTableRowModel.class);
50  
51      private static final Binder<TaxonGroupTableRowModel, TaxonGroupDTO> TO_BEAN_BINDER =
52              BinderFactory.newBinder(TaxonGroupTableRowModel.class, TaxonGroupDTO.class);
53  
54      private final List<ErrorDTO> errors;
55  
56      /**
57       * <p>Constructor for TaxonGroupTableRowModel.</p>
58       *
59       * @param readOnly a boolean.
60       */
61      public TaxonGroupTableRowModel(boolean readOnly) {
62          super(FROM_BEAN_BINDER, TO_BEAN_BINDER);
63          errors = new ArrayList<>();
64          setReadOnly(readOnly);
65      }
66  
67      /** {@inheritDoc} */
68      @Override
69      public boolean isEditable() {
70          return super.isEditable() && !isReadOnly();
71      }
72  
73      /** {@inheritDoc} */
74      @Override
75      protected TaxonGroupDTO newBean() {
76          return DaliBeanFactory.newTaxonGroupDTO();
77      }
78  
79      /** {@inheritDoc} */
80      @Override
81      public String getLabel() {
82          return delegateObject.getLabel();
83      }
84  
85      /** {@inheritDoc} */
86      @Override
87      public void setLabel(String label) {
88          delegateObject.setLabel(label);
89      }
90  
91      /** {@inheritDoc} */
92      @Override
93      public String getComment() {
94          return delegateObject.getComment();
95      }
96  
97      /** {@inheritDoc} */
98      @Override
99      public void setComment(String comment) {
100         delegateObject.setComment(comment);
101     }
102 
103     /** {@inheritDoc} */
104     @Override
105     public String getType() {
106         return delegateObject.getType();
107     }
108 
109     /** {@inheritDoc} */
110     @Override
111     public void setType(String type) {
112         delegateObject.setType(type);
113     }
114 
115     /** {@inheritDoc} */
116     @Override
117     public boolean isUpdate() {
118         return delegateObject.isUpdate();
119     }
120 
121     /** {@inheritDoc} */
122     @Override
123     public void setUpdate(boolean update) {
124         delegateObject.setUpdate(update);
125     }
126 
127     /** {@inheritDoc} */
128     @Override
129     public boolean isExclusive() {
130         return delegateObject.isExclusive();
131     }
132 
133     /** {@inheritDoc} */
134     @Override
135     public void setExclusive(boolean exclusive) {
136         delegateObject.setExclusive(exclusive);
137     }
138 
139     /** {@inheritDoc} */
140     @Override
141     public TaxonDTO getTaxons(int index) {
142         return delegateObject.getTaxons(index);
143     }
144 
145     /** {@inheritDoc} */
146     @Override
147     public boolean isTaxonsEmpty() {
148         return delegateObject.isTaxonsEmpty();
149     }
150 
151     /** {@inheritDoc} */
152     @Override
153     public int sizeTaxons() {
154         return delegateObject.sizeTaxons();
155     }
156 
157     /** {@inheritDoc} */
158     @Override
159     public void addTaxons(TaxonDTO taxons) {
160         delegateObject.addTaxons(taxons);
161     }
162 
163     /** {@inheritDoc} */
164     @Override
165     public void addAllTaxons(Collection<TaxonDTO> taxons) {
166         delegateObject.addAllTaxons(taxons);
167     }
168 
169     /** {@inheritDoc} */
170     @Override
171     public boolean removeTaxons(TaxonDTO taxons) {
172         return delegateObject.removeTaxons(taxons);
173     }
174 
175     /** {@inheritDoc} */
176     @Override
177     public boolean removeAllTaxons(Collection<TaxonDTO> taxons) {
178         return delegateObject.removeAllTaxons(taxons);
179     }
180 
181     /** {@inheritDoc} */
182     @Override
183     public boolean containsTaxons(TaxonDTO taxons) {
184         return delegateObject.containsTaxons(taxons);
185     }
186 
187     /** {@inheritDoc} */
188     @Override
189     public boolean containsAllTaxons(Collection<TaxonDTO> taxons) {
190         return delegateObject.containsAllTaxons(taxons);
191     }
192 
193     /** {@inheritDoc} */
194     @Override
195     public List<TaxonDTO> getTaxons() {
196         return delegateObject.getTaxons();
197     }
198 
199     /** {@inheritDoc} */
200     @Override
201     public void setTaxons(List<TaxonDTO> taxons) {
202         delegateObject.setTaxons(taxons);
203     }
204 
205     /** {@inheritDoc} */
206     @Override
207     public TaxonGroupDTO getParentTaxonGroup() {
208         return delegateObject.getParentTaxonGroup();
209     }
210 
211     /** {@inheritDoc} */
212     @Override
213     public void setParentTaxonGroup(TaxonGroupDTO parentTaxonGroup) {
214         delegateObject.setParentTaxonGroup(parentTaxonGroup);
215     }
216 
217     /** {@inheritDoc} */
218     @Override
219     public String getName() {
220         return delegateObject.getName();
221     }
222 
223     /** {@inheritDoc} */
224     @Override
225     public void setName(String name) {
226         delegateObject.setName(name);
227     }
228 
229     /** {@inheritDoc} */
230     @Override
231     public StatusDTO getStatus() {
232         return delegateObject.getStatus();
233     }
234 
235     /** {@inheritDoc} */
236     @Override
237     public void setStatus(StatusDTO status) {
238         delegateObject.setStatus(status);
239     }
240 
241     /** {@inheritDoc} */
242     @Override
243     public boolean isDirty() {
244         return delegateObject.isDirty();
245     }
246 
247     /** {@inheritDoc} */
248     @Override
249     public void setDirty(boolean dirty) {
250         delegateObject.setDirty(dirty);
251     }
252 
253     @Override
254     public boolean isReadOnly() {
255         return delegateObject.isReadOnly();
256     }
257 
258     @Override
259     public void setReadOnly(boolean readOnly) {
260         delegateObject.setReadOnly(readOnly);
261     }
262 
263     @Override
264     public Date getCreationDate() {
265         return delegateObject.getCreationDate();
266     }
267 
268     @Override
269     public void setCreationDate(Date date) {
270         delegateObject.setCreationDate(date);
271     }
272 
273     @Override
274     public Date getUpdateDate() {
275         return delegateObject.getUpdateDate();
276     }
277 
278     @Override
279     public void setUpdateDate(Date date) {
280         delegateObject.setUpdateDate(date);
281     }
282 
283     /** {@inheritDoc} */
284     @Override
285     public Collection<ErrorDTO> getErrors() {
286         return errors;
287     }
288 }