public Set<Class<?>> findImplementations(Class parent, String... packageNames) { if (packageNames == null) { return Collections.emptySet(); } log.debug("Searching for implementations of " + parent.getName() + " in packages: " + Arrays .asList(packageNames)); PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent)); return findByFilter(test, packageNames); }
public Set<Class<?>> findImplementations(Class parent, String... packageNames) { if (packageNames == null) { return Collections.emptySet(); } log.debug("Searching for implementations of " + parent.getName() + " in packages: " + Arrays .asList(packageNames)); PackageScanFilter test = getCompositeFilter(new AssignableToPackageScanFilter(parent)); Set<Class<?>> classes = new LinkedHashSet<>(); for (String pkg : packageNames) { find(test, pkg, classes); } log.debug("Found: " + classes); return classes; }