1 20 package org.enhydra.barracuda.contrib.sam.data; 21 22 import org.enhydra.barracuda.core.event.*; 23 import org.enhydra.barracuda.core.event.helper.*; 24 import org.apache.log4j.*; 25 26 30 public abstract class DataObjectGateway extends DefaultEventGateway { 31 32 protected static Logger logger = Logger.getLogger(DataObjectGateway.class.getName()); 34 35 protected abstract Class getDefaultHandler(); 36 protected abstract Class getDefaultEvent(); 37 protected abstract Class getSaveHandler(); 38 protected abstract Class getSaveEvent(); 39 protected abstract Class getDeleteHandler(); 40 protected abstract Class getDeleteEvent(); 41 protected abstract Class getNewHandler(); 42 protected abstract Class getNewEvent(); 43 protected abstract Class getListHandler(); 44 protected abstract Class getListEvent(); 45 protected abstract Class getRenderEvent(); 46 protected abstract Class getRenderHandler(); 47 48 49 50 public DataObjectGateway() { 51 logger.debug("registering Handlers:"); 52 logger.debug("DefaultEvent: " + getDefaultEvent().getName()); 53 specifyLocalEventInterests(new EventConnectorFactory(getDefaultHandler()), getDefaultEvent()); 54 specifyLocalEventInterests(new EventConnectorFactory(getSaveHandler()), getSaveEvent()); 55 specifyLocalEventInterests(new EventConnectorFactory(getDeleteHandler()), getDeleteEvent()); 56 specifyLocalEventInterests(new EventConnectorFactory(getNewHandler()), getNewEvent()); 57 if (getListEvent() != null) { 58 specifyLocalEventInterests(new EventConnectorFactory(getListHandler()), getListEvent()); 59 } 60 specifyLocalEventInterests(new EventConnectorFactory(getRenderHandler()), getRenderEvent()); 61 } 63 } 64 | Popular Tags |