1 package fr.ifremer.tutti.ui.swing.content.operation.catches.marinelitter;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import com.google.common.collect.Lists;
26 import fr.ifremer.adagio.core.dao.referential.ObjectTypeCode;
27 import fr.ifremer.tutti.persistence.entities.data.Attachment;
28 import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
29 import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatch;
30 import fr.ifremer.tutti.persistence.entities.data.MarineLitterBatchs;
31 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
32 import fr.ifremer.tutti.type.WeightUnit;
33 import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
34 import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware;
35 import org.nuiton.util.beans.Binder;
36 import org.nuiton.util.beans.BinderFactory;
37
38 import java.util.Collection;
39 import java.util.List;
40
41
42
43
44
45
46
47 public class MarineLitterBatchRowModel extends AbstractTuttiBeanUIModel<MarineLitterBatch, MarineLitterBatchRowModel> implements AttachmentModelAware, MarineLitterBatch {
48
49 private static final long serialVersionUID = 1L;
50
51
52
53
54
55
56 protected final MarineLitterBatch editObject =
57 MarineLitterBatchs.newMarineLitterBatch();
58
59
60
61
62
63
64 protected final List<Attachment> attachment = Lists.newArrayList();
65
66
67
68
69
70
71 protected final WeightUnit weightUnit;
72
73 protected static final Binder<MarineLitterBatch, MarineLitterBatchRowModel> fromBeanBinder =
74 BinderFactory.newBinder(MarineLitterBatch.class,
75 MarineLitterBatchRowModel.class);
76
77 protected static final Binder<MarineLitterBatchRowModel, MarineLitterBatch> toBeanBinder =
78 BinderFactory.newBinder(MarineLitterBatchRowModel.class,
79 MarineLitterBatch.class);
80
81 public MarineLitterBatchRowModel(WeightUnit weightUnit) {
82 super(fromBeanBinder, toBeanBinder);
83 this.weightUnit = weightUnit;
84 }
85
86 public MarineLitterBatchRowModel(WeightUnit weightUnit,
87 MarineLitterBatch entity) {
88 this(weightUnit);
89 fromEntity(entity);
90 }
91
92
93
94
95
96 @Override
97 protected MarineLitterBatch newEntity() {
98 return MarineLitterBatchs.newMarineLitterBatch();
99 }
100
101 @Override
102 public void fromEntity(MarineLitterBatch entity) {
103 super.fromEntity(entity);
104
105
106 setWeight(weightUnit.fromEntity(getWeight()));
107 }
108
109 @Override
110 public MarineLitterBatch toEntity() {
111 MarineLitterBatch result = super.toEntity();
112
113
114 result.setWeight(weightUnit.toEntity(getWeight()));
115 return result;
116 }
117
118
119
120
121
122 @Override
123 public CaracteristicQualitativeValue getMarineLitterCategory() {
124 return editObject.getMarineLitterCategory();
125 }
126
127 @Override
128 public void setMarineLitterCategory(CaracteristicQualitativeValue marineLitterCategory) {
129 Object oldValue = getMarineLitterCategory();
130 editObject.setMarineLitterCategory(marineLitterCategory);
131 firePropertyChange(PROPERTY_MARINE_LITTER_CATEGORY, oldValue, marineLitterCategory);
132 }
133
134 @Override
135 public CaracteristicQualitativeValue getMarineLitterSizeCategory() {
136 return editObject.getMarineLitterSizeCategory();
137 }
138
139 @Override
140 public void setMarineLitterSizeCategory(CaracteristicQualitativeValue marineLitterSizeCategory) {
141 Object oldValue = getMarineLitterSizeCategory();
142 editObject.setMarineLitterSizeCategory(marineLitterSizeCategory);
143 firePropertyChange(PROPERTY_MARINE_LITTER_SIZE_CATEGORY, oldValue, marineLitterSizeCategory);
144 }
145
146 @Override
147 public FishingOperation getFishingOperation() {
148 return editObject.getFishingOperation();
149 }
150
151 @Override
152 public void setFishingOperation(FishingOperation fishingOperation) {
153 editObject.setFishingOperation(fishingOperation);
154 }
155
156 @Override
157 public Float getWeight() {
158 return editObject.getWeight();
159 }
160
161 @Override
162 public void setWeight(Float weight) {
163 Object oldValue = getWeight();
164 editObject.setWeight(weight);
165 firePropertyChange(PROPERTY_WEIGHT, oldValue, weight);
166 }
167
168 @Override
169 public Integer getNumber() {
170 return editObject.getNumber();
171 }
172
173 @Override
174 public void setNumber(Integer number) {
175 Object oldValue = getNumber();
176 editObject.setNumber(number);
177 firePropertyChange(PROPERTY_NUMBER, oldValue, number);
178 }
179
180 @Override
181 public String getComment() {
182 return editObject.getComment();
183 }
184
185 @Override
186 public void setComment(String comment) {
187 Object oldValue = getComment();
188 editObject.setComment(comment);
189 firePropertyChange(PROPERTY_COMMENT, oldValue, comment);
190 }
191
192 @Override
193 public Integer getRankOrder() {
194 return editObject.getRankOrder();
195 }
196
197 @Override
198 public void setRankOrder(Integer rankOrder) {
199 editObject.setRankOrder(rankOrder);
200 }
201
202
203
204
205
206 @Override
207 public ObjectTypeCode getObjectType() {
208 return ObjectTypeCode.BATCH;
209 }
210
211 @Override
212 public Integer getObjectId() {
213 return getIdAsInt();
214 }
215
216 @Override
217 public List<Attachment> getAttachment() {
218 return attachment;
219 }
220
221 @Override
222 public void addAllAttachment(Collection<Attachment> attachments) {
223 this.attachment.addAll(attachments);
224 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
225 }
226
227 @Override
228 public void addAttachment(Attachment attachment) {
229 this.attachment.add(attachment);
230 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
231 }
232
233 @Override
234 public void removeAllAttachment(Collection<Attachment> attachments) {
235 this.attachment.removeAll(attachments);
236 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
237 }
238
239 @Override
240 public void removeAttachment(Attachment attachment) {
241 this.attachment.remove(attachment);
242 firePropertyChange(PROPERTY_ATTACHMENT, null, getAttachment());
243 }
244 }