annotate src/main/java/alice/datasegment/CommandType.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children aefbe41fcf12
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
345
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
1 package alice.datasegment;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
2
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
3 import java.util.HashMap;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
4
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
5 public enum CommandType {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
6 PUT,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
7 UPDATE, // remove a DataSegment value and put
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
8 PEEK,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
9 TAKE,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
10 REMOVE,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
11 REPLY,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
12 CLOSE,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
13 FINISH,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
14 PING,
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
15 RESPONSE;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
16
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
17 public int id;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
18 public static HashMap<Integer, CommandType> hash = new HashMap<Integer, CommandType>();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
19 private static int lastId = 0;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
20
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
21 private CommandType(int id) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
22 this.id = id;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
23 setLastId(id);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
24 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
25
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
26 private CommandType() {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
27 this.id = incrementLastId();
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
28 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
29
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
30 private void setLastId(int id) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
31 lastId =id;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
32 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
33
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
34 private int incrementLastId() {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
35 return ++lastId;
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
36 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
37
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
38 public static CommandType getCommandTypeFromId(int id) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
39 return hash.get(id);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
40 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
41
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
42 static {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
43 for (CommandType type : CommandType.values()) {
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
44 hash.put(type.id, type);
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
45 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
46 }
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
47
8f71c3e6f11d Change directory structure Maven standard
sugi
parents:
diff changeset
48 }