All Downloads are FREE. Search and download functionalities are using the official Maven repository.

br.com.caelum.iogi.DependenciesInjector Maven / Gradle / Ivy

/**
 * 
 */
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> 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());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy