package code3;

import java.util.Map;
import java.util.HashMap;

public class SourceMediator {

    private Map eventActionPairs = new HashMap();

    public void setPair(WidgetEvent event, Action action) {
	eventActionPairs.put(event, action);
	event.addEventListener(this);
    }

    public void removePair(WidgetEvent event) {
	eventActionPairs.remove(event);
    }

    public void actionPerformed(WidgetEvent event) {
	System.err.println("I, " + this + " hear event " + event);
	Action widget = (Action)eventActionPairs.get(event);
	// messy
	if (widget != null) 
	    widget.execute();
    }

}
