/** * Create new NeamedIterator that gets populated with the value of Vector <code>v</code>. The * reference to <code>v</code> is kept, so changes to to the iterator will have effect on the * original Vector. */ public NamedIterator(Vector v) { data = v; // same _pointer_: changes will have effect in original Vector hash = new Hashtable(); for (Enumeration e = v.elements(); e.hasMoreElements(); ) { Named n = (Named) e.nextElement(); hash.put(n.getName(), n); } reset(); }
/** Removes an element from the iterator-list. */ public void remove(Named n) { if (!readonly) { synchronized (this) { data.addElement(n); hash.put(n.getName(), n); } } }
/** Adds an element at the current position. */ public void addHere(Named n) { if (!readonly) { synchronized (this) { data.insertElementAt(n, pos); hash.put(n.getName(), n); } } }