/** * Will try to create a List of classes that are listed * in the passed in file. * The fileName is expected to be found on the classpath. * * @param fileName The name of the file containing the list of classes, * one class name per line. * @param instanceOf The instanceof filter. * @return List<Class<T>> list of the classes contained in the file. */ public static <T> List<Class<T>> getClasses(final String fileName, Class<T> instanceOf) { AssertArgument.isNotNull( fileName, "fileName" ); AssertArgument.isNotNull( instanceOf, "instanceOf" ); long start = System.currentTimeMillis(); List<Class<T>> classes = new ArrayList<Class<T>>(); List<URL> cpURLs; int resCount = 0; try { cpURLs = getResources(fileName, ClassUtil.class); } catch (IOException e) { throw new RuntimeException("Error getting resource URLs for resource : " + fileName, e); } for (URL url : cpURLs) { addClasses(url, instanceOf, classes); resCount++; } logger.debug("Loaded " + classes.size() + " classes from " + resCount + " URLs through class list file " + fileName + ". Process took " + (System.currentTimeMillis() - start) + "ms. Turn on debug logging for more info."); return classes; }
/** * Will try to create a List of classes that are listed * in the passed in file. * The fileName is expected to be found on the classpath. * * @param fileName The name of the file containing the list of classes, * one class name per line. * @param instanceOf The instanceof filter. * @return List<Class<T>> list of the classes contained in the file. */ public static <T> List<Class<T>> getClasses(final String fileName, Class<T> instanceOf) { AssertArgument.isNotNull( fileName, "fileName" ); AssertArgument.isNotNull( instanceOf, "instanceOf" ); long start = System.currentTimeMillis(); List<Class<T>> classes = new ArrayList<Class<T>>(); List<URL> cpURLs; int resCount = 0; try { cpURLs = getResources(fileName, ClassUtil.class); } catch (IOException e) { throw new RuntimeException("Error getting resource URLs for resource : " + fileName, e); } for (URL url : cpURLs) { addClasses(url, instanceOf, classes); resCount++; } logger.debug("Loaded " + classes.size() + " classes from " + resCount + " URLs through class list file " + fileName + ". Process took " + (System.currentTimeMillis() - start) + "ms. Turn on debug logging for more info."); return classes; }
/** * Will try to create a List of classes that are listed * in the passed in file. * The fileName is expected to be found on the classpath. * * @param fileName The name of the file containing the list of classes, * one class name per line. * @param instanceOf The instanceof filter. * @return List<Class<T>> list of the classes contained in the file. */ public static <T> List<Class<T>> getClasses(final String fileName, Class<T> instanceOf) { AssertArgument.isNotNull( fileName, "fileName" ); AssertArgument.isNotNull( instanceOf, "instanceOf" ); long start = System.currentTimeMillis(); List<Class<T>> classes = new ArrayList<Class<T>>(); List<URL> cpURLs; int resCount = 0; try { cpURLs = getResources(fileName, ClassUtil.class); } catch (IOException e) { throw new RuntimeException("Error getting resource URLs for resource : " + fileName, e); } for (URL url : cpURLs) { addClasses(url, instanceOf, classes); resCount++; } logger.debug("Loaded " + classes.size() + " classes from " + resCount + " URLs through class list file " + fileName + ". Process took " + (System.currentTimeMillis() - start) + "ms. Turn on debug logging for more info."); return classes; }