view src/main/java/alice/topology/node/ClosedEventManager.java @ 518:fc313323c53b dispose

add reconnect event
author sugi
date Thu, 22 Jan 2015 16:01:32 +0900
parents 9e69b5c6fe44
children 145c425db88d
line wrap: on
line source

package alice.topology.node;

import java.util.ArrayList;

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

@SuppressWarnings("rawtypes")
public class ClosedEventManager extends CodeSegment{

    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");
    }

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

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