org.simantics.databoard.history
Class DirectoryWatch

java.lang.Object
  extended by org.simantics.databoard.history.DirectoryWatch

public class DirectoryWatch
extends java.lang.Object

DirectoryWatch monitors a directory for file additions / removals.

DirectoryWatch is used in the long wait for WatchService.

Author:
Toni Kalajainen

Nested Class Summary
static class DirectoryWatch.DirectoryEvent
           
static interface DirectoryWatch.DirectoryListener
           
 
Field Summary
static long POLL_INTERVAL
           
 
Constructor Summary
DirectoryWatch(java.io.File directory, java.io.FileFilter filter)
           
 
Method Summary
 void add(java.io.File f)
          Add file to the known list without reading the disk.
 void addListener(DirectoryWatch.DirectoryListener listener)
           
 void close()
          Close the timer.
 java.util.List<java.io.File> files()
          Get a snapshot of currently known files
 void refresh()
          Reload the directory
 void remove(java.io.File f)
          Remove file from the known list without reading the disk.
 void removeListener(DirectoryWatch.DirectoryListener listener)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

POLL_INTERVAL

public static final long POLL_INTERVAL
See Also:
Constant Field Values
Constructor Detail

DirectoryWatch

public DirectoryWatch(java.io.File directory,
                      java.io.FileFilter filter)
Method Detail

close

public void close()
Close the timer. This method does one last poll.


addListener

public void addListener(DirectoryWatch.DirectoryListener listener)

removeListener

public void removeListener(DirectoryWatch.DirectoryListener listener)

files

public java.util.List<java.io.File> files()
Get a snapshot of currently known files

Returns:
a snapshot of files

refresh

public void refresh()
Reload the directory


add

public void add(java.io.File f)
Add file to the known list without reading the disk. The modification is void after next timer refresh.

Parameters:
f -

remove

public void remove(java.io.File f)
Remove file from the known list without reading the disk. The modification is void after next timer refresh.

Parameters:
f -