
io.takari.watcher.DirectoryWatcher Maven / Gradle / Ivy
package io.takari.watcher;
import java.io.IOException;
import java.nio.file.Path;
public abstract class DirectoryWatcher {
public abstract void processEvents() throws IOException;
public static Builder builder() {
return new Builder();
}
public static class Builder {
private Path directory;
private DirectoryChangeListener listener;
public Builder directory(Path directory) {
this.directory = directory;
return this;
}
public Builder listener(DirectoryChangeListener listener) {
this.listener = listener;
return this;
}
public DirectoryWatcher build() throws IOException {
String os = System.getProperty("os.name").toLowerCase();
if(os.contains("mac")) {
return new OsxDirectoryWatcher(directory, listener);
} else {
return new JdkDirectoryWatcher(directory, listener);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy