package org.springblade.mdm.machinefile.filewatch;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.nio.file.Path;
|
import java.nio.file.WatchService;
|
import java.util.Map;
|
import java.util.Set;
|
|
@Service
|
public class DynamicDirectoryWatcher {
|
private final FileWatcherService fileWatcherService;
|
|
@Autowired
|
public DynamicDirectoryWatcher(FileWatcherService fileWatcherService) {
|
this.fileWatcherService = fileWatcherService;
|
}
|
|
public void addDirectory(Path directory, FileWatcherService.FileChangeListener listener) throws Exception {
|
fileWatcherService.watchDirectory(directory, listener);
|
}
|
|
public void removeDirectory(Path directory) throws Exception {
|
fileWatcherService.stopWatching(directory);
|
}
|
|
public Map<Path, WatchService> getWatchedDirectories() {
|
|
return fileWatcherService.getWatchedDirectories();
|
}
|
|
public boolean containsPath(Path path) {
|
return fileWatcherService.getWatchedDirectories().containsKey(path);
|
}
|
}
|