1 package net.sumaris.core.model.referential;
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 java.util.Arrays;
26 import java.util.Optional;
27
28 public enum UserProfileEnum {
29
30 ADMIN(1, "ADMIN"),
31 USER(2, "USER"),
32 SUPERVISOR(3, "SUPERVISOR"),
33 GUEST(4, "GUEST");
34
35 public static UserProfileEnum valueOf(final int id) {
36 return Arrays.stream(values())
37 .filter(level -> level.id == id)
38 .findFirst()
39 .orElseThrow(() -> new IllegalArgumentException("Unknown UserProfileEnum: " + id));
40 }
41
42
43 public static Optional<String> getLabelById(int id) {
44 Optional<UserProfileEnum> enumValue = Arrays.stream(values()).filter(userProfileEnum -> userProfileEnum.id == id).findFirst();
45 return enumValue.map(Enum::toString);
46 }
47
48 public final int id;
49 public final String label;
50
51 UserProfileEnum(int id, String label) {
52 this.id = id;
53 this.label = label;
54 }
55
56
57
58
59
60
61
62 public String getLabel()
63 {
64 return this.label;
65 }
66
67
68
69
70
71
72 public int getId()
73 {
74 return this.id;
75 }
76 }