private Collection<String> selectModules(Set<String> keySet, Collection<String> limitModules) { Collection<String> rootModules; if (limitModules == NO_LIMIT_MODULES) { rootModules = new HashSet<>(keySet); } else if (limitModules != null) { Set<String> result = new HashSet<>(keySet); result.retainAll(limitModules); rootModules = result; } else { rootModules = JavaProject.internalDefaultRootModules(keySet, s -> s, m -> getModule(m.toCharArray())); } Set<String> allModules = new HashSet<>(rootModules); for (String mod : rootModules) addRequired(mod, allModules); return allModules; }
private Collection<String> selectModules(Set<String> keySet, Collection<String> limitModules) { Collection<String> rootModules; if (limitModules == NO_LIMIT_MODULES) { rootModules = new HashSet<>(keySet); } else if (limitModules != null) { Set<String> result = new HashSet<>(keySet); result.retainAll(limitModules); rootModules = result; } else { rootModules = JavaProject.internalDefaultRootModules(keySet, s -> s, m -> getModule(m.toCharArray())); } Set<String> allModules = new HashSet<>(rootModules); for (String mod : rootModules) addRequired(mod, allModules); return allModules; }
private void addRequired(String mod, Set<String> allModules) { IModule iMod = getModule(mod.toCharArray()); for (IModuleReference requiredRef : iMod.requires()) { IModule reqMod = getModule(requiredRef.name()); if (reqMod != null) { String reqModName = String.valueOf(reqMod.name()); if (allModules.add(reqModName)) addRequired(reqModName, allModules); } } } @Override
private void addRequired(String mod, Set<String> allModules) { IModule iMod = getModule(mod.toCharArray()); for (IModuleReference requiredRef : iMod.requires()) { IModule reqMod = getModule(requiredRef.name()); if (reqMod != null) { String reqModName = String.valueOf(reqMod.name()); if (allModules.add(reqModName)) addRequired(reqModName, allModules); } } } @Override