1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 package net.sumaris.core.model;
24
25 import java.io.Serializable;
26 import java.util.Arrays;
27
28 public enum QualityFlagEnum implements Serializable {
29
30 NOT_QUALIFED(0, "Not qualified"),
31 GOOD(1, "Good"),
32 OUT_STATS(2, "Out of statistics"),
33 DOUBTFUL(3, "Doubtful"),
34 BAD(4, "Bad"),
35 FIXED(5, "Fixed"),
36 NOT_COMPLETED(8, "Not completed"),
37 MISSING(9, "Missing")
38 ;
39
40 public static QualityFlagEnum valueOf(final int id) {
41 return Arrays.stream(values())
42 .filter(level -> level.id == id)
43 .findFirst()
44 .orElseThrow(() -> new IllegalArgumentException("Unknown QualityFlagEnum: " + id));
45 }
46
47 public static QualityFlagEnum byLabel(final String label) {
48 return Arrays.stream(values())
49 .filter(level -> label.equals(level.label))
50 .findFirst()
51 .orElseThrow(() -> new IllegalArgumentException("Unknown QualityFlagEnum: " + label));
52 }
53
54 private int id;
55 private String label;
56
57 QualityFlagEnum(int id, String label) {
58 this.id = id;
59 this.label = label;
60 }
61
62 public int getId() {
63 return id;
64 }
65
66 public void setId(int id) {
67 this.id = id;
68 }
69
70 public String getLabel() {
71 return label;
72 }
73
74 public void setLabel(String label) {
75 this.label = label;
76 }
77
78 }