// Copyright (c) 2014 Tom Zhou<iwebpp@gmail.com>
package com.iwebpp.node;
import java.util.List;
public interface EventEmitter {
public boolean emit(final String event) throws Exception;
public boolean emit(final String event, final Object data) throws Exception;
public interface Listener {
public void onEvent(final Object data) throws Exception;
};
public EventEmitter on(final String event, final Listener cb) throws Exception;
public EventEmitter once(final String event, final Listener cb) throws Exception;
public EventEmitter addListener(final String event, final Listener cb);
public EventEmitter addListener(final String event, final Listener cb, int priority);
public EventEmitter removeListener(final String event, final Listener cb);
public EventEmitter removeListener(final String event);
public EventEmitter removeListener();
public EventEmitter removeAllListeners();
public EventEmitter setMaxListeners(final String event, final int n);
public List<Listener> listeners(final String event);
public int listenerCount(final String event);
}