@Provides @Singleton Repository provideRepository(Injector injector, @Named(Config.REPO_CLASS) Class<Repository> repoClass, @Named(Config.REPO_CACHE) Class<RepositoryCache> cacheClass) { Repository repo = injector.getInstance(repoClass); RepositoryCache cache = injector.getInstance(cacheClass); return new CacheRepository(repo, cache); }
@Provides @Singleton Repository provideRepository(Injector injector, @Named(Config.REPO_CLASS) Class<Repository> repoClass, @Named(Config.REPO_CACHE) Class<RepositoryCache> cacheClass) { Repository repo = injector.getInstance(repoClass); RepositoryCache cache = injector.getInstance(cacheClass); return new CacheRepository(repo, cache); }
@Override protected CacheRepository createRepository() { return new CacheRepository(new InMemoryRepository(new ValidatorFactory.Builder().build()), new InMemoryCache()); } }