annotate src/main/java/alice/topology/node/RegisterEvent.java @ 599:3284428f525e dispose

add MetaCodeSegment & MetaDSM
author Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
date Mon, 15 Feb 2016 01:16:35 +0900
parents b31b1d197c42
children 8a9fd716c335
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
1 package alice.topology.node;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
2
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
3 import java.util.List;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
4
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
5 import alice.codesegment.CodeSegment;
599
3284428f525e add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 469
diff changeset
6 import alice.codesegment.MetaCodeSegment;
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
7 import alice.datasegment.CommandType;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
8 import alice.datasegment.Receiver;
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
9
599
3284428f525e add MetaCodeSegment & MetaDSM
Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp>
parents: 469
diff changeset
10 public class RegisterEvent<T> extends MetaCodeSegment {
469
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
11
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
12 private Receiver info = ids.create(CommandType.TAKE); // new event
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
13 private Receiver info1 = ids.create(CommandType.TAKE); // event list
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
14
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
15 public RegisterEvent() {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
16 info.setKey("_REGISTERDEVENT");
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
17 info1.setKey("_DEVENTLIST");
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
18 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
19
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
20 @SuppressWarnings("unchecked")
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
21 @Override
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
22 public void run() {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
23 List<Class<T>> eventList = info1.asClass(List.class);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
24 Class<T> clazz = (Class<T>) info.getObj();
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
25
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
26 // if put class type doesnt CodeSegment, not register
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
27 if ("CloseEventCodeSegment".equals(clazz.getSuperclass().getSimpleName())||
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
28 "CodeSegment".equals(clazz.getSuperclass().getSimpleName())) {
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
29 eventList.add(clazz);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
30 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
31
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
32 ods.put(info1.key, eventList);
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
33 }
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
34
b31b1d197c42 Add Disconnect Event Manager
sugi
parents:
diff changeset
35 }