package com.github.dreamhead.moco.runner.watcher;
import com.google.common.base.Function;
import org.apache.commons.io.monitor.FileAlterationListener;
import java.io.File;
import static com.google.common.collect.FluentIterable.from;
public class FilesMocoRunnerWatcher implements MocoRunnerWatcher {
private final Iterable<FileMocoRunnerWatcher> monitors;
public FilesMocoRunnerWatcher(final Iterable<File> files, final FileAlterationListener listener) {
this.monitors = from(files).transform(new Function<File, FileMocoRunnerWatcher>() {
@Override
public FileMocoRunnerWatcher apply(final File file) {
return new FileMocoRunnerWatcher(file, listener);
}
});
}
@Override
public void startMonitor() {
for (FileMocoRunnerWatcher monitor : monitors) {
monitor.startMonitor();
}
}
@Override
public void stopMonitor() {
for (FileMocoRunnerWatcher monitor : monitors) {
monitor.stopMonitor();
}
}
}