package p2pp;
import java.io.File;
import java.io.FileFilter;
import java.util.ArrayList;
import java.util.List;
public class SessionAnalyzer implements Analyzer<List<Integer>> {
private List<Analyzer<Integer>> analyzers;
public SessionAnalyzer(AnalyzerFactory<Integer> fac, String dir) {
File file = new File(dir);
if(!file.isDirectory())
throw new IllegalArgumentException(dir + " is not a directory!");
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".log");
}
});
analyzers = new ArrayList<Analyzer<Integer>>();
for(File f : files)
analyzers.add(fac.getAnalyzer(f.getAbsolutePath()));
}
@Override
public List<Integer> analyze() {
List<Integer> results = new ArrayList<Integer>();
for(Analyzer<Integer> anal : analyzers)
results.add(anal.analyze());
return results;
}
}