package fi.otavanopisto.muikku.plugins.seeker.defaultproviders; import java.util.Iterator; import java.util.List; import javax.enterprise.inject.Any; import javax.enterprise.inject.Instance; import javax.inject.Inject; import fi.otavanopisto.muikku.plugins.seeker.SeekerResult; import fi.otavanopisto.muikku.plugins.seeker.SeekerResultProvider; import fi.otavanopisto.muikku.search.SearchProvider; public abstract class AbstractSeekerResultProvider implements SeekerResultProvider { @Inject @Any private Instance<SearchProvider> searchProviders; @Override public abstract String getName(); @Override public abstract List<SeekerResult> search(String searchTerm); protected SearchProvider getProvider(String name) { Iterator<SearchProvider> i = searchProviders.iterator(); while (i.hasNext()) { SearchProvider provider = i.next(); if (name.equals(provider.getName())) { return provider; } } return null; } }