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 com.google.common.base.Preconditions;
26 import net.sumaris.core.model.referential.location.LocationLevelEnum;
27
28 import java.io.Serializable;
29 import java.util.Arrays;
30
31 public enum ObjectTypeEnum implements Serializable {
32
33
34 VESSEL(1, "VESSEL")
35 ;
36
37 public static ObjectTypeEnum valueOf(final int id) {
38 return Arrays.stream(values())
39 .filter(level -> level.id == id)
40 .findFirst()
41 .orElseThrow(() -> new IllegalArgumentException("Unknown ObjectTypeEnum: " + id));
42 }
43
44 public static ObjectTypeEnum byLabel(final String label) {
45 Preconditions.checkNotNull(label);
46 return Arrays.stream(values())
47 .filter(level -> label.equals(level.label))
48 .findFirst()
49 .orElseThrow(() -> new IllegalArgumentException("Unknown ObjectTypeEnum: " + label));
50 }
51
52 private int id;
53 private String label;
54
55 ObjectTypeEnum(int id, String label) {
56 this.id = id;
57 this.label = label;
58 }
59
60 public int getId() {
61 return id;
62 }
63
64 public void setId(int id) {
65 this.id = id;
66 }
67
68 public String getLabel() {
69 return label;
70 }
71
72 public void setLabel(String label) {
73 this.label = label;
74 }
75 }