private InjectionNodeBuilderRepository buildVariableBuilderMap() { InjectionNodeBuilderRepository injectionNodeBuilderRepository = injectionNodeBuilderRepositoryProvider.get(); injectionNodeBuilderRepository.putType( Context.class, injectionBindingBuilder.buildThis(Context.class)); injectionNodeBuilderRepository.putType( android.app.Application.class, injectionBindingBuilder.buildThis((android.app.Application.class))); injectionNodeBuilderRepository.putType( ContextScopeHolder.class, injectionBindingBuilder.buildThis(ContextScopeHolder.class)); variableBuilderRepositoryFactory.addApplicationInjections(injectionNodeBuilderRepository); variableBuilderRepositoryFactory.addModuleConfiguration(injectionNodeBuilderRepository); return injectionNodeBuilderRepository; }
public void processType(ASTType astType) { ImplementedBy annotation = astType.getAnnotation(ImplementedBy.class); if (annotation != null) { TypeMirror implementedClass = getTypeMirror(new ImplementedByClassTypeMirrorRunnable(annotation)); ASTType implAstType = implementedClass.accept(astTypeBuilderVisitor, null); if (!implAstType.inheritsFrom(astType)) { throw new TransfuseAnalysisException( "ImplementedBy configuration points to a class that doesn't inherit from the given base class"); } injectionNodeBuilders.putModuleConfig( astType, variableInjectionBuilderFactory.buildVariableInjectionNodeBuilder(implAstType)); } }
@Inject public InjectorGenerator( JCodeModel codeModel, InjectionFragmentGenerator injectionFragmentGenerator, ComponentBuilderFactory componentBuilderFactory, AnalysisContextFactory analysisContextFactory, InjectionNodeBuilderRepository injectionNodeBuilderRepository, InjectionNodeBuilderRepositoryFactory injectionNodeBuilderRepositoryFactory, InjectorRepositoryGenerator injectorRepositoryGenerator) { this.codeModel = codeModel; this.injectionFragmentGenerator = injectionFragmentGenerator; this.componentBuilderFactory = componentBuilderFactory; this.analysisContextFactory = analysisContextFactory; this.injectionNodeBuilderRepository = injectionNodeBuilderRepository; this.injectorRepositoryGenerator = injectorRepositoryGenerator; injectionNodeBuilderRepositoryFactory.addModuleConfiguration( this.injectionNodeBuilderRepository); }