/** Notifies all listeners of the change (add, remove) and does the change. */ public void fireObjAttributeEvent(AttributeEvent e) { setDirty(true); for (EventListener listener : listenerList.getListeners(ObjAttributeListener.class)) { ObjAttributeListener temp = (ObjAttributeListener) listener; switch (e.getId()) { case MapEvent.ADD: temp.objAttributeAdded(e); break; case MapEvent.CHANGE: temp.objAttributeChanged(e); break; case MapEvent.REMOVE: temp.objAttributeRemoved(e); break; default: throw new IllegalArgumentException("Invalid AttributeEvent type: " + e.getId()); } } }