package org.apache.haox.event; public abstract class AbstractEventHandler implements EventHandler { private Dispatcher dispatcher; public AbstractEventHandler() { } protected void dispatch(Event event) { dispatcher.dispatch(event); } @Override public Dispatcher getDispatcher() { return dispatcher; } @Override public void setDispatcher(Dispatcher dispatcher) { this.dispatcher = dispatcher; } @Override public void handle(Event event) { try { doHandle(event); } catch (Exception e) { throw new RuntimeException(event.toString(), e); } } protected abstract void doHandle(Event event) throws Exception; }