1 package org.slf4j.migrator;
2
3 import java.io.File;
4 import java.util.ArrayList;
5 import java.util.List;
6
7 import org.slf4j.migrator.internal.ProgressListener;
8
9 public class FileSelector {
10
11 private List<File> javaFileList = new ArrayList<File>();
12
13 ProgressListener pl;
14
15 FileSelector(ProgressListener pl) {
16 this.pl = pl;
17 }
18
19 public List<File> selectJavaFilesInFolder(File folder) {
20 if (folder.isDirectory()) {
21 selectFiles(folder);
22 return javaFileList;
23 } else {
24 throw new IllegalArgumentException("[" + folder + "] is not a directory");
25 }
26 }
27
28 private void selectFiles(File file) {
29 if (file.isDirectory()) {
30 pl.onDirectory(file);
31 File[] files = file.listFiles();
32 if (files != null) {
33 for (int i = 0; i < files.length; i++) {
34 selectFiles(files[i]);
35 }
36 }
37 } else {
38 if (file.getName().endsWith(".java")) {
39 pl.onFileAddition(file);
40 javaFileList.add(file);
41 }
42
43 }
44 }
45 }