/**
*
*/
package br.com.caelum.iogi;
import java.util.Collection;
import br.com.caelum.iogi.reflection.Target;
import br.com.caelum.iogi.spi.DependencyProvider;
import br.com.caelum.iogi.util.NullDependencyProvider;
public class DependenciesInjector {
private final DependencyProvider dependencyProvider;
public DependenciesInjector(final DependencyProvider dependencyProvider) {
this.dependencyProvider = dependencyProvider;
}
public boolean canObtainDependenciesFor(final Collection<Target<?>> targets) {
for (final Target<?> target : targets) {
if (!dependencyProvider.canProvide(target)) {
return false;
}
}
return true;
}
public Object provide(final Target<?> target) {
return dependencyProvider.provide(target);
}
public static DependenciesInjector nullDependenciesInjector() {
return new DependenciesInjector(new NullDependencyProvider());
}
}