1 package fr.ifremer.tutti.ui.swing.content.protocol.maturity;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
28 import org.jdesktop.beans.AbstractSerializableBean;
29
30 import java.util.ArrayList;
31 import java.util.Collection;
32 import java.util.HashSet;
33 import java.util.List;
34 import java.util.Objects;
35
36
37
38
39
40 public class EditMaturityCaracteristicPopupUIModel extends AbstractSerializableBean {
41
42 public static final String PROPERTY_ALL_MATURITY_STATES = "allMaturityStates";
43
44 public static final String PROPERTY_MATURE_STATE_IDS = "matureStateIds";
45
46
47
48
49 protected boolean valid;
50
51 protected final List<CaracteristicQualitativeValue> allMaturityStates = new ArrayList<>();
52
53 protected final Collection<String> matureStateIds = new HashSet<>();
54
55 public List<CaracteristicQualitativeValue> getAllMaturityStates() {
56 return allMaturityStates;
57 }
58
59 public void setAllMaturityStates(List<CaracteristicQualitativeValue> allMaturityStates) {
60 this.allMaturityStates.clear();
61 if (allMaturityStates != null) {
62 this.allMaturityStates.addAll(allMaturityStates);
63 }
64 firePropertyChange(PROPERTY_ALL_MATURITY_STATES, null, this.allMaturityStates);
65 }
66
67 public Collection<String> getMatureStateIds() {
68 return matureStateIds;
69 }
70
71 public void setMatureStateIds(Collection<String> matureStateIds) {
72 this.matureStateIds.clear();
73 if (matureStateIds != null) {
74 this.matureStateIds.addAll(matureStateIds);
75 }
76 firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, this.matureStateIds);
77 }
78
79 public void addMatureState(CaracteristicQualitativeValue state) {
80 Objects.requireNonNull(state);
81 addMatureState(state.getId());
82 }
83
84 public void addMatureState(String stateId) {
85 matureStateIds.add(stateId);
86 firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, matureStateIds);
87 }
88
89 public void removeMatureState(CaracteristicQualitativeValue state) {
90 Objects.requireNonNull(state);
91 removeMatureState(state.getId());
92 }
93
94 public void removeMatureState(String stateId) {
95 matureStateIds.remove(stateId);
96 firePropertyChange(PROPERTY_MATURE_STATE_IDS, null, matureStateIds);
97 }
98
99 public boolean isMature(CaracteristicQualitativeValue state) {
100 Objects.requireNonNull(state);
101 return isMature(state.getId());
102 }
103
104 public boolean isMature(String id) {
105 return matureStateIds.contains(id);
106 }
107
108 public boolean hasMatureValues() {
109 return matureStateIds.size() > 0;
110 }
111
112 public boolean hasImmatureValues() {
113 return matureStateIds.size() < allMaturityStates.size();
114 }
115
116 public boolean isValid() {
117 return valid;
118 }
119
120 public void setValid(boolean valid) {
121 this.valid = valid;
122 }
123 }