1 package fr.ifremer.tutti.service.bigfin.signs;
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 com.google.common.base.Function;
28 import fr.ifremer.adagio.core.dao.referential.pmfm.PmfmId;
29 import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueId;
30 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
31 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
32 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValues;
33 import fr.ifremer.tutti.service.bigfin.csv.BigfinDataRow;
34
35 import java.util.Map;
36
37
38
39
40
41
42
43 public enum VracHorsVrac implements Sign {
44
45 VRAC("") {
46 @Override
47 public Integer getCategory() {
48 return PmfmId.SORTED_UNSORTED.getValue();
49 }
50
51 @Override
52 public Integer getQualitativeValueId() {
53 return QualitativeValueId.SORTED_VRAC.getValue();
54 }
55
56 @Override
57 public boolean isNullEquivalent(int parentSignChildrenNb) {
58 return false;
59 }
60 },
61 HORS_VRAC("HV") {
62 @Override
63 public Integer getCategory() {
64 return PmfmId.SORTED_UNSORTED.getValue();
65 }
66
67 @Override
68 public Integer getQualitativeValueId() {
69 return QualitativeValueId.SORTED_HORS_VRAC.getValue();
70 }
71
72 @Override
73 public boolean isNullEquivalent(int parentSignChildrenNb) {
74 return false;
75 }
76 };
77
78 private String sign;
79
80 VracHorsVrac(String sign) {
81 this.sign = sign;
82 }
83
84 @Override
85 public String getSign() {
86 return sign;
87 }
88
89 @Override
90 public void registerSign(Caracteristic caracteristic, Map<Sign, CaracteristicQualitativeValue> map) {
91 Integer valueId = getQualitativeValueId();
92 CaracteristicQualitativeValue result = CaracteristicQualitativeValues.getQualitativeValue(caracteristic, valueId);
93 map.put(this, result);
94 }
95
96 public static VracHorsVrac getValue(String sign) {
97 VracHorsVrac result = null;
98 for (VracHorsVrac s : values()) {
99 if (s.sign.equals(sign)) {
100 result = s;
101 break;
102 }
103 }
104 return result;
105 }
106
107 public static Function<BigfinDataRow, Sign> newExtractValueFunction() {
108 return BigfinDataRow::getVracHorsVrac;
109 }
110 }