1
2 package fr.ifremer.tutti.ui.swing.content.operation.fishing;
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 import com.google.common.base.Predicates;
27 import fr.ifremer.tutti.persistence.entities.CaracteristicMap;
28 import fr.ifremer.tutti.persistence.entities.data.FishingOperation;
29 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
30 import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel;
31 import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
32 import org.nuiton.jaxx.application.swing.tab.TabContentModel;
33
34 import java.io.Serializable;
35 import java.util.List;
36
37
38
39
40
41 public abstract class AbstractCaracteristicTabUIModel<RM extends AbstractTuttiBeanUIModel<Serializable, RM>, M extends AbstractCaracteristicTabUIModel<RM, M>>
42 extends AbstractTuttiTableUIModel<FishingOperation, RM, M> implements TabContentModel {
43
44 public static final String PROPERTY_CARACTERISTIC_MAP = "caracteristicMap";
45
46 public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
47
48 public static final String PROPERTY_AVAILABLE_CARACTERISTICS = "availableCaracteristics";
49
50 private static final long serialVersionUID = 1L;
51
52 protected List<Caracteristic> availableCaracteristics;
53
54
55
56
57
58
59 protected CaracteristicMap caracteristicMap;
60
61
62
63
64
65
66 protected boolean removeCaracteristicEnabled;
67
68 public AbstractCaracteristicTabUIModel() {
69 super(FishingOperation.class, null, null);
70 }
71
72 public List<Caracteristic> getAvailableCaracteristics() {
73 return availableCaracteristics;
74 }
75
76 public void setAvailableCaracteristics(List<Caracteristic> availableCaracteristics) {
77 Object oldValue = getAvailableCaracteristics();
78 this.availableCaracteristics = availableCaracteristics;
79 firePropertyChange(PROPERTY_AVAILABLE_CARACTERISTICS, oldValue, availableCaracteristics);
80 }
81
82 public CaracteristicMap getCaracteristicMap() {
83 return caracteristicMap;
84 }
85
86 public void setCaracteristicMap(CaracteristicMap caracteristicMap) {
87 Object oldValue = getCaracteristicMap();
88 this.caracteristicMap = caracteristicMap != null ? (CaracteristicMap) caracteristicMap.clone() : null;
89 firePropertyChange(PROPERTY_CARACTERISTIC_MAP, oldValue, this.caracteristicMap);
90 }
91
92 public boolean isRemoveCaracteristicEnabled() {
93 return removeCaracteristicEnabled;
94 }
95
96 public void setRemoveCaracteristicEnabled(boolean removeCaracteristicEnabled) {
97 Object oldValue = isRemoveCaracteristicEnabled();
98 this.removeCaracteristicEnabled = removeCaracteristicEnabled;
99 firePropertyChange(PROPERTY_REMOVE_CARACTERISTIC_ENABLED, oldValue, removeCaracteristicEnabled);
100 }
101
102 @Override
103 public boolean isEmpty() {
104 return caracteristicMap == null || caracteristicMap.values().stream().allMatch(Predicates.isNull()::apply);
105 }
106
107 @Override
108 public String getIcon() {
109 return null;
110 }
111
112 @Override
113 protected FishingOperation newEntity() {
114 return null;
115 }
116
117 @Override
118 public boolean isCloseable() {
119 return false;
120 }
121 }