/** * Informs all listeners of the EntityEvent. Does not send the event to its * originator. */ public void fireDbEntityEvent(EntityEvent e) { setDirty(true); if (e.getEntity().getDataMap() != null && e.getId() == MapEvent.CHANGE) { e.getEntity().getDataMap().dbEntityChanged(e); } if (e.getId() == MapEvent.REMOVE) { removeFromHistory(e); } for (EventListener listener : listenerList.getListeners(DbEntityListener.class)) { DbEntityListener temp = (DbEntityListener) listener; switch (e.getId()) { case MapEvent.ADD: temp.dbEntityAdded(e); break; case MapEvent.CHANGE: temp.dbEntityChanged(e); break; case MapEvent.REMOVE: temp.dbEntityRemoved(e); break; default: throw new IllegalArgumentException("Invalid EntityEvent type: " + e.getId()); } } }