1 package org.sim0mq.message;
2
3 import java.util.LinkedHashMap;
4 import java.util.Map;
5
6 import org.djutils.immutablecollections.Immutable;
7 import org.djutils.immutablecollections.ImmutableHashMap;
8
9
10
11
12
13
14
15
16
17
18
19 public enum MessageStatus
20 {
21
22 NONE(0),
23
24
25 NEW(1),
26
27
28 CHANGE(2),
29
30
31 DELETE(3);
32
33
34 private final byte status;
35
36
37 private static ImmutableHashMap<Integer, MessageStatus> types = null;
38
39
40
41
42 MessageStatus(final int status)
43 {
44 this.status = (byte) status;
45 }
46
47
48
49
50 public final byte getStatus()
51 {
52 return this.status;
53 }
54
55
56
57
58
59 public static ImmutableHashMap<Integer, MessageStatus> getTypes()
60 {
61 Map<Integer, MessageStatus> t = new LinkedHashMap<>();
62 if (types == null)
63 {
64 for (int i = 0; i < values().length; i++)
65 {
66 MessageStatus ms = values()[i];
67 t.put((int) ms.getStatus(), ms);
68 }
69 types = new ImmutableHashMap<>(t, Immutable.WRAP);
70 }
71 return types;
72 }
73
74 }