package gov.samhsa.consent2share.infrastructure.eventlistener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.InitializingBean; /** * The listener interface for receiving event events. The class that is * interested in processing a event event implements this interface, and the * object created with that class is registered with a component using the * component's <code>addEventListener<code> method. When * the event event occurs, that object's appropriate * method is invoked. * * @see EventEvent */ public abstract class EventListener implements InitializingBean { /** The log. */ Logger log = LoggerFactory.getLogger(this.getClass()); /** The event service. */ EventService eventService; /** * Instantiates a new event listener. * * @param eventService * the event service */ public EventListener(EventService eventService) { super(); this.eventService = eventService; } /* * (non-Javadoc) * * @see * org.springframework.beans.factory.InitializingBean#afterPropertiesSet() */ public void afterPropertiesSet() throws Exception { eventService.registerListener(this); } /** * Can handle. * * @param event * the event * @return true, if successful */ public abstract boolean canHandle(Object event); /** * Handle. * * @param event * the event */ public abstract void handle(Object event); }