package org.jetbrains.jps.incremental;
import org.jetbrains.jps.Module;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.Collection;
/**
* @author Eugene Zhuravlev
* Date: 9/21/11
*/
public class FilesCollector implements FileProcessor{
private static FileFilter ALL_FILES = new FileFilter() {
public boolean accept(File pathname) {
return true;
}
};
private final Collection<File> myContainer;
private final FileFilter myFilter;
public FilesCollector() {
this(ALL_FILES);
}
public FilesCollector(FileFilter filter) {
this(new ArrayList<File>(), filter);
}
public FilesCollector(Collection<File> container, FileFilter filter) {
myFilter = filter;
myContainer = container;
}
public Collection<File> getFiles() {
return myContainer;
}
public boolean apply(Module module, File file, String sourceRoot) throws Exception {
if (myFilter.accept(file)) {
myContainer.add(file);
}
return true;
}
}