package org.esmerilprogramming.overtown.scanner; import java.io.File; import java.net.URL; import java.util.ArrayList; import java.util.List; import org.esmerilprogramming.overtown.scanner.exception.PackageNotFoundException; import org.jboss.logging.Logger; public class ConfigScanner { private static final Logger LOGGER = Logger.getLogger(ConfigScanner.class); public List<Class<?>> getPageClasses(String packageToSearch, ClassLoader classLoader) throws PackageNotFoundException { List<Class<?>> pageClasses = new ArrayList<>(); String[] list = getFileList(packageToSearch); try { for (String s : list) { LOGGER.info(s); Class<?> loadedClass = classLoader.loadClass(packageToSearch + "." + s.replace(".properties", "")); pageClasses.add(loadedClass); } } catch (ClassNotFoundException e) { LOGGER.error(e.getMessage()); } return pageClasses; } public String[] getFileList(String packageToSearch) throws PackageNotFoundException { URL systemResource = PackageScanner.class.getResource("/" + packageToSearch.replaceAll("\\.", "/")); if (systemResource == null) throw new PackageNotFoundException(); File file = new File(systemResource.getPath()); return file.list(); } }