31 import java.util.Arrays; |
31 import java.util.Arrays; |
32 import java.util.EnumSet; |
32 import java.util.EnumSet; |
33 import java.util.List; |
33 import java.util.List; |
34 |
34 |
35 public final class ModuleManager { |
35 public final class ModuleManager { |
36 private final List<String> folders = new ArrayList(); |
36 private final List<String> folders = new ArrayList<String>(); |
37 |
37 |
38 public enum SearchType {UnnamedJar, ModularJar, Jmod, ExplodedModule} |
38 public enum SearchType {UnnamedJar, ModularJar, Jmod, ExplodedModule} |
39 |
39 |
40 public ModuleManager(String folders) { |
40 public ModuleManager(String folders) { |
41 super(); |
41 super(); |
42 String lfolders = folders.replaceAll("^\"|\"$", ""); |
42 String lfolders = folders.replaceAll("^\"|\"$", ""); |
43 List<Path> paths = new ArrayList(); |
43 List<Path> paths = new ArrayList<Path>(); |
44 |
44 |
45 for (String folder : |
45 for (String folder : |
46 Arrays.asList(lfolders.split(File.pathSeparator))) { |
46 Arrays.asList(lfolders.split(File.pathSeparator))) { |
47 File file = new File(folder); |
47 File file = new File(folder); |
48 paths.add(file.toPath()); |
48 paths.add(file.toPath()); |
67 SearchType.ModularJar, SearchType.Jmod, |
67 SearchType.ModularJar, SearchType.Jmod, |
68 SearchType.ExplodedModule)); |
68 SearchType.ExplodedModule)); |
69 } |
69 } |
70 |
70 |
71 public List<ModFile> getModules(EnumSet<SearchType> Search) { |
71 public List<ModFile> getModules(EnumSet<SearchType> Search) { |
72 List<ModFile> result = new ArrayList(); |
72 List<ModFile> result = new ArrayList<ModFile>(); |
73 |
73 |
74 for (String folder : folders) { |
74 for (String folder : folders) { |
75 result.addAll(getAllModulesInDirectory(folder, Search)); |
75 result.addAll(getAllModulesInDirectory(folder, Search)); |
76 } |
76 } |
77 |
77 |
78 return result; |
78 return result; |
79 } |
79 } |
80 |
80 |
81 private static List<ModFile> getAllModulesInDirectory(String Folder, |
81 private static List<ModFile> getAllModulesInDirectory(String Folder, |
82 EnumSet<SearchType> Search) { |
82 EnumSet<SearchType> Search) { |
83 List<ModFile> result = new ArrayList(); |
83 List<ModFile> result = new ArrayList<ModFile>(); |
84 File lfolder = new File(Folder); |
84 File lfolder = new File(Folder); |
85 File[] files = lfolder.listFiles(); |
85 File[] files = lfolder.listFiles(); |
86 |
86 |
87 for (File file : files) { |
87 for (File file : files) { |
88 ModFile modFile = new ModFile(file); |
88 ModFile modFile = new ModFile(file); |