package org.jboss.windup.config.metadata;
import javax.inject.Inject;
import org.jboss.forge.furnace.services.Imported;
import org.jboss.windup.graph.GraphContext;
/**
* Manages loading of {@link TechnologyMetadata} from {@link TechnologyMetadataLoader}s within Windup.
*
* @author <a href="mailto:jesse.sightler@gmail.com">Jesse Sightler</a>
*/
public class TechnologyMetadataProviderImpl implements TechnologyMetadataProvider
{
@Inject
private Imported<TechnologyMetadataLoader> loaders;
/**
* Loads the {@link TechnologyMetadata} that is associated with the given {@link TechnologyReference}.
*/
public TechnologyMetadata getMetadata(GraphContext context, TechnologyReference reference)
{
for (TechnologyMetadataLoader loader : loaders)
{
TechnologyMetadata metadata = loader.getMetadata(context, reference);
if (metadata != null)
return metadata;
}
return null;
}
}