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 }