/**
 * Requirements of an EventHandler in an event bubbling 
 * system
 *
 * @author  Prof. David Bernstein, James Madison University
 * @version 1.0
 */
public interface EventHandler extends EventReceiver
{
    /**
     * Get the parent of this EventHandler
     *
     * @return  The parent (or null)
     */
    public abstract EventHandler getParent();
    

    /**
     * Handle an event
     *
     * @param event                The event to handle
     * @param bubbleHandledEvents  true if handled events should be bubbled
     * @return                     true if the event was handled
     */
    public abstract boolean handleEvent(BubblingEvent event, 
                                  boolean bubbleHandledEvents);
}
