/** * Excludes the specified folders from scanning. The ignore pattern checks matches packages and classes * starting with the specified string. * * @param folder * folder(s) to be ignored * * @return this scanner */ public JarScanner ignore(String... folder) { return ignore(Arrays.asList(folder)); }
/** * Creates a classloader for testing purposes. The classloader loads the classes from the test jars. * * @param testJars * jar files to be loaded by this classloader. For all packages and classes contained in these jars this * classloader takes precedence over the parent classloader. * @param packages * additional packages for which this classloader should take precedence over the parent classloader */ public TestClassLoader(Collection<URL> testJars, Collection<String> packages, String... excludePackages) { super(getURLs(testJars), getParentClassLoader()); this.packages = Collections.newSetFromMap(new ConcurrentHashMap<>()); this.packages.addAll(packages); this.packages.addAll(new JarScanner().addJar(testJars).ignore(excludePackages).scanPackages()); this.blacklist = Collections.newSetFromMap(new ConcurrentHashMap<>()); this.blacklist.addAll(Arrays.asList(excludePackages)); }