public void notifyListeners(String newName) { Iterator<WeakReference<RootNameListener>> it = list.iterator(); while (it.hasNext()) { RootNameListener listener = it.next().get(); if (listener == null) { it.remove(); continue; } listener.setRootName(newName); } }
public void addListener(File root, RootNameListener listener) { String cachedName = nameCache.get(root); if (cachedName != null) { listener.setRootName(cachedName); return; } ListenerSet set = listeners.get(root); if (set == null) { set = new ListenerSet(); listeners.put(root, set); } set.add(listener); processRoot(root); }