/** * Tests each filter if it matches the dependency informed. If any of the {@link DependencyFilter#accept(Dependency)} * objects contained in this class returns false, false is immediately returned from this method. */ @Override public boolean accept(Dependency dependency) { for (DependencyFilter filter : filters) { if (!filter.accept(dependency)) { return false; } } return true; } }
/** * Resolve a set of {@link Dependency} versions matching the given query. */ public List<Dependency> resolveVersions(final DependencyQuery query) { List<Dependency> deps = new ArrayList<Dependency>(); DependencyFilter dependencyFilter = query.getDependencyFilter(); Dependency dependency = query.getDependency(); List<DependencyRepository> dependencyRepositories = query.getDependencyRepositories(); for (DependencyResolverProvider p : providers) { List<Dependency> artifacts = p.resolveVersions(dependency, dependencyRepositories); if (artifacts != null) { for (Dependency artifact : artifacts) { if (dependencyFilter == null || dependencyFilter.accept(artifact)) { deps.add(artifact); } } } } return deps; }