/** * Test add/remove listeners. */ @Test public void testAddRemoveListeners() { final FileAlterationObserver observer = new FileAlterationObserver("/foo"); // Null Listener observer.addListener(null); assertFalse("Listeners[1]", observer.getListeners().iterator().hasNext()); observer.removeListener(null); assertFalse("Listeners[2]", observer.getListeners().iterator().hasNext()); // Add Listener final FileAlterationListenerAdaptor listener = new FileAlterationListenerAdaptor(); observer.addListener(listener); final Iterator<FileAlterationListener> it = observer.getListeners().iterator(); assertTrue("Listeners[3]", it.hasNext()); assertEquals("Added", listener, it.next()); assertFalse("Listeners[4]", it.hasNext()); // Remove Listener observer.removeListener(listener); assertFalse("Listeners[5]", observer.getListeners().iterator().hasNext()); }
public void removeFileObserverListener(FileObserverListener listener) { observer.removeListener(listener); }
synchronized public DirectorySnapshot trackChanges() { pollForChanges(); DirectorySnapshot changes = changesSinceLastSnapshot; changesSinceLastSnapshot = new DirectorySnapshot(fileTriggerRouter); SnapshotUpdater newListener = new SnapshotUpdater(changesSinceLastSnapshot); fileObserver.addListener(newListener); fileObserver.removeListener(currentListener); currentListener = newListener; lastSnapshot.merge(changes); return changes; }