package com.yoursway.fsmonitor;
import java.io.File;
import com.yoursway.fsmonitor.spi.ChangesListener;
import com.yoursway.fsmonitor.spi.MonitoringRequest;
public class FileSystemMonitor {
private final File directory;
private ChangesListener listenerImpl = new ChangesListener() {
public void pathChanged(String path) {
listener.changed(path);
}
};
private MonitoringRequest request;
private final FileSystemChangesListener listener;
public FileSystemMonitor(FileSystemMonitoringContext context, File directory, FileSystemChangesListener listener) {
if (context == null)
throw new NullPointerException("context is null");
if (directory == null)
throw new NullPointerException("file is null");
if (listener == null)
throw new NullPointerException("listener is null");
this.directory = directory;
this.listener = listener;
request = context.add(directory, listenerImpl);
}
public File directory() {
return directory;
}
public void dispose() {
request.dispose();
}
}