/** * Generate bindings. * @param brb A bind rule builder, completely populated except for its {@linkplain BindRuleBuilder#setDependencyType(Class) dependency type}. * @param type The search type for {@link #generateBindPoints(Class)}. */ private void generateBindings(BindRuleBuilder brb, Class<?> type) { ContextMatcher matcher = context.getContextPattern(); BindingFunctionBuilder config = context.getBuilder(); if (config.getGenerateRules()) { Map<Class<?>, RuleSet> bindPoints = generateBindPoints(type); for (Entry<Class<?>, RuleSet> e: bindPoints.entrySet()) { config.addBindRule(e.getValue(), matcher, brb.setDependencyType(e.getKey()).build()); } } else { config.addBindRule(RuleSet.EXPLICIT, matcher, brb.setDependencyType(sourceType).build()); } }