package net.bible.service.download; import net.bible.android.control.ApplicationScope; import org.crosswire.jsword.book.Book; import javax.inject.Inject; /** * @author Martin Denham [mjdenham at gmail dot com] * @see gnu.lgpl.License for license details.<br> * The copyright to this program is held by it's author. */ @ApplicationScope public class RepoFactory { private CrosswireRepo crosswireRepo = new CrosswireRepo(); private XiphosRepo xiphosRepo = new XiphosRepo(); private BetaRepo betaRepo = new BetaRepo(); private AndBibleRepo andBibleRepo = new AndBibleRepo(); private IBTRepo ibtRepo = new IBTRepo(); private EBibleRepo eBibleRepo = new EBibleRepo(); @Inject public RepoFactory() {} public RepoBase getRepoForBook(Book document) { return getRepo(document.getProperty(DownloadManager.REPOSITORY_KEY)); } private RepoBase getRepo(String repoName) { RepoBase repoForBook; if (crosswireRepo.getRepoName().equals(repoName)) { repoForBook = crosswireRepo; } else if (xiphosRepo.getRepoName().equals(repoName)) { repoForBook = xiphosRepo; } else if (andBibleRepo.getRepoName().equals(repoName)) { repoForBook = andBibleRepo; } else if (betaRepo.getRepoName().equals(repoName)) { repoForBook = betaRepo; } else if (ibtRepo.getRepoName().equals(repoName)) { repoForBook = ibtRepo; } else if (eBibleRepo.getRepoName().equals(repoName)) { repoForBook = eBibleRepo; } else { repoForBook = crosswireRepo; } return repoForBook; } public CrosswireRepo getCrosswireRepo() { return crosswireRepo; } public XiphosRepo getXiphosRepo() { return xiphosRepo; } public BetaRepo getBetaRepo() { return betaRepo; } public AndBibleRepo getAndBibleRepo() { return andBibleRepo; } public IBTRepo getIBTRepo() { return ibtRepo; } public EBibleRepo getEBibleRepo() { return eBibleRepo; } }