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