void fileDeleted(File aFile);
};
- private File _directory;
- private FileFilter _filter;
- private Listener _listener;
- private Map<File, Date> _contents;
+ private File directory;
+ private FileFilter filter;
+ private Listener listener;
+ private Map<File, Date> contents;
public DirectoryMonitor(File aDirectory, FileFilter aFilefilter,
Listener aListener) {
- _directory = aDirectory;
- if (!_directory.isDirectory()) {
- throw new IllegalArgumentException("Directory '" + _directory
+ directory = aDirectory;
+ if (!directory.isDirectory()) {
+ throw new IllegalArgumentException("Directory '" + directory
+ "' does not exist");
}
- _filter = aFilefilter;
- _listener = aListener;
- _contents = new HashMap<File, Date>();
+ filter = aFilefilter;
+ listener = aListener;
+ contents = new HashMap<File, Date>();
}
/**
* the next call to this method will invoked the listeners again for the same changes.
*/
public void poll() {
- LOG.debug("Polling " + _directory);
+ LOG.debug("Polling " + directory);
Map<File, Date> newContents = new HashMap<File, Date>();
- File[] files = _directory.listFiles(_filter);
+ File[] files = directory.listFiles(filter);
// Check deleted files.
- Set<File> deletedFiles = new HashSet<File>(_contents.keySet());
+ Set<File> deletedFiles = new HashSet<File>(contents.keySet());
for (File file : files) {
if (file.isFile()) {
- if (_contents.containsKey(file)) {
+ if (contents.containsKey(file)) {
deletedFiles.remove(file);
}
}
}
for (File file : deletedFiles) {
- _listener.fileDeleted(file);
+ listener.fileDeleted(file);
}
for (File file : files) {
if (file.isFile()) {
- if (_contents.containsKey(file)) {
- Date oldDate = _contents.get(file);
+ if (contents.containsKey(file)) {
+ Date oldDate = contents.get(file);
if (file.lastModified() != oldDate.getTime()) {
- _listener.fileChanged(file);
+ listener.fileChanged(file);
} else {
// No change.
}
newContents.put(file, new Date(file.lastModified()));
} else {
- _listener.fileCreated(file);
+ listener.fileCreated(file);
newContents.put(file, new Date(file.lastModified()));
}
}
}
- _contents = newContents;
+ contents = newContents;
}
}