view src/main/java/alice/topology/node/ClosedEventManager.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 145c425db88d
children 8a9fd716c335
line wrap: on
line source

package alice.topology.node;

import java.util.ArrayList;

import alice.codesegment.CodeSegment;
import alice.codesegment.MetaCodeSegment;
import alice.datasegment.CommandType;
import alice.datasegment.Receiver;

public class ClosedEventManager extends MetaCodeSegment{

    private Receiver info = ids.create(CommandType.PEEK);
    private static ClosedEventManager instance = new ClosedEventManager();

    private <T> ClosedEventManager() {
        ods.put("_DEVENTLIST", new ArrayList<Class<T>>());
    }

    public static ClosedEventManager getInstance() {
        return instance;
    }

    public void setKey() {
        ids.init();
        info.setKey("_DISCONNECT");
    }

    @SuppressWarnings("rawtypes")
    @Override
    public void run() {
        new ExecuteEvent();
        setKey();
    }

    @SuppressWarnings("rawtypes")
    public synchronized <T> void register(Class<T> clazz) {
        ods.put("_REGISTERDEVENT", clazz);
        new RegisterEvent();
    }
}