/** Adds a remote observer to the set of observers for this object. */ public synchronized void addObserver(RemoteObserver observer) { boolean present = false; Enumeration e = observers.elements(); while (e.hasMoreElements() && !present) { if (observer._is_equivalent((RemoteObserver) e.nextElement())) present = true; } if (!present) observers.addElement(observer); }
/** Deletes a remote observer from the set of observers of this object. */ public synchronized void deleteObserver(RemoteObserver observer) { int position = 0; boolean found = false; Enumeration e = observers.elements(); while (e.hasMoreElements() && !found) { if (observer._is_equivalent((RemoteObserver) e.nextElement())) found = true; position++; } if (found) observers.removeElementAt(position - 1); }