1 package fr.ifremer.tutti.service.pupitri;
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.adagio.core.dao.referential.pmfm.PmfmId;
26 import fr.ifremer.adagio.core.dao.referential.pmfm.QualitativeValueId;
27 import fr.ifremer.tutti.persistence.entities.referential.Caracteristic;
28 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue;
29 import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValues;
30
31 import java.util.Map;
32
33
34
35
36
37
38
39 public enum Signs {
40
41 MALE("1", PmfmId.SEX, QualitativeValueId.SEX_MALE),
42 FEMALE("2", PmfmId.SEX, QualitativeValueId.SEX_FEMALE),
43 SMALL("P", PmfmId.SIZE_CATEGORY, QualitativeValueId.SIZE_SMALL),
44 MEDIUM("M", PmfmId.SIZE_CATEGORY, QualitativeValueId.SIZE_MEDIUM),
45 BIG("G", PmfmId.SIZE_CATEGORY, QualitativeValueId.SIZE_BIG),
46 DEFAULT("0", PmfmId.SEX, QualitativeValueId.SEX_UNDEFINED),
47 UNSORTED("H", null, null),
48 MELAG("T", null, null);
49
50 private final String sign;
51 private final Integer category;
52 private final Integer qualitativeValue;
53
54 Signs(String sign, PmfmId pmfmId, QualitativeValueId qualitativeValueId) {
55 this.sign = sign;
56 this.category = pmfmId == null ? null : pmfmId.getValue();
57 this.qualitativeValue = qualitativeValueId == null ? null : qualitativeValueId.getValue();
58 }
59
60 public String getSign() {
61 return sign;
62 }
63
64 public static Signs getSign(String sign) {
65 Signs result = null;
66 for (Signs s : values()) {
67 if (s.sign.equals(sign)) {
68 result = s;
69 break;
70 }
71 }
72 return result;
73 }
74
75 public Integer getCategory() {
76 return category;
77 }
78
79
80 public Integer getQualitativeValue() {
81 return qualitativeValue;
82 }
83
84 public void registerSign(Caracteristic caracteristic, Map<Signs, CaracteristicQualitativeValue> map) {
85 CaracteristicQualitativeValue result = CaracteristicQualitativeValues.getQualitativeValue(caracteristic, qualitativeValue);
86 map.put(this, result);
87 }
88 }