package org.Webgatherer.Api.Scraper;
import com.google.inject.Guice;
import com.google.inject.Injector;
import org.Webgatherer.ExperimentalLabs.DependencyInjection.DependencyBindingModule;
import org.Webgatherer.ExperimentalLabs.Scraper.Core.ScraperBase;
import org.Webgatherer.ExperimentalLabs.Scraper.Generic.ScraperGeneric;
import org.Webgatherer.ExperimentalLabs.Scraper.Indeed.ScraperIndeed;
/**
* @author Rick Dane
*/
public class ScraperFactory {
public static ScraperBase createScraper(String scraperIdentifier) {
Injector injector = Guice.createInjector(new DependencyBindingModule());
//TODO: replace with reflection, just do it this way for ease in initial testing
ScraperBase scraperBase = null;
if (scraperIdentifier.equalsIgnoreCase("indeed")) {
scraperBase = injector.getInstance(ScraperIndeed.class);
} else if (scraperIdentifier.equalsIgnoreCase("generic")) {
//THIS IS THE ONE TO USE IN MOST CASES AS WE ARE ADDING IN ABILITY TO PASS IN URL PATTERN FROM UI
scraperBase = injector.getInstance(ScraperGeneric.class);
}
return scraperBase;
}
}