package cz.cuni.amis.pogamut.base.agent.worldview;

import cz.cuni.amis.pogamut.base.communication.translator.IWorldChangeEvent;
import cz.cuni.amis.utils.listener.IListener;

/**
 * Abstract listener that listens for world events.
 * <p><p>
 * Every listener instance is defining also an event which it wants to listen on
 * by it's parameter type "Event". That's why there is a private "dummy" method in the ancestor class
 * that returns it's type so we can (by Java Reflection API) get the class of the event
 * where to hook the listener to. 
 *  
 * @author Jimmy
 * @param <Event>
 */
public interface WorldEventListener<Event extends IWorldEvent> extends IListener<Event> {
		
}
