1 package fr.ifremer.tutti.ui.swing.util.caracteristics;
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 fr.ifremer.tutti.persistence.entities.CaracteristicMap;
26 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
27 import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel;
28
29 import java.util.ArrayList;
30 import java.util.Collection;
31 import java.util.List;
32
33
34
35
36
37 public class CaracteristicMapEditorUIModel extends AbstractTuttiTableUIModel<Object, CaracteristicMapEditorRowModel, CaracteristicMapEditorUIModel> {
38
39 public static final String PROPERTY_CARACTERISTIC_MAP = "caracteristicMap";
40
41 public static final String PROPERTY_REMOVE_CARACTERISTIC_ENABLED = "removeCaracteristicEnabled";
42
43 private static final long serialVersionUID = 1L;
44
45
46
47
48 protected List<Caracteristic> allAvailableCaracteristics;
49
50
51
52
53 protected List<Caracteristic> availableCaracteristics;
54
55
56
57
58
59
60 protected CaracteristicMap caracteristicMap;
61
62
63
64
65
66
67 protected boolean removeCaracteristicEnabled;
68
69 public CaracteristicMapEditorUIModel() {
70 super(Object.class, null, null);
71 }
72
73 public void setAllAvailableCaracteristics(List<Caracteristic> allAvailableCaracteristics) {
74 this.allAvailableCaracteristics = allAvailableCaracteristics;
75 this.availableCaracteristics = new ArrayList<>(allAvailableCaracteristics);
76 }
77
78 public List<Caracteristic> getAvailableCaracteristics() {
79 return availableCaracteristics;
80 }
81
82 public void computeAvailableCaracteristics(Collection<Caracteristic> defaultCaracteristics) {
83 availableCaracteristics = new ArrayList<>(allAvailableCaracteristics);
84 availableCaracteristics.removeAll(defaultCaracteristics);
85 }
86
87 public CaracteristicMap getCaracteristicMap() {
88 return caracteristicMap;
89 }
90
91 public void setCaracteristicMap(CaracteristicMap caracteristicMap) {
92 Object oldValue = getCaracteristicMap();
93 this.caracteristicMap = caracteristicMap != null ? (CaracteristicMap) caracteristicMap.clone() : null;
94 firePropertyChange(PROPERTY_CARACTERISTIC_MAP, oldValue, this.caracteristicMap);
95 }
96
97 public boolean isRemoveCaracteristicEnabled() {
98 return removeCaracteristicEnabled;
99 }
100
101 public void setRemoveCaracteristicEnabled(boolean removeCaracteristicEnabled) {
102 Object oldValue = isRemoveCaracteristicEnabled();
103 this.removeCaracteristicEnabled = removeCaracteristicEnabled;
104 firePropertyChange(PROPERTY_REMOVE_CARACTERISTIC_ENABLED, oldValue, removeCaracteristicEnabled);
105 }
106
107 @Override
108 protected Object newEntity() {
109 return null;
110 }
111 }