private Builder(Module module) { this.module = new BQModule(); this.module.module = Objects.requireNonNull(module); }
private Collection<ConfigMetadataNode> toConfigs(BQModule module) { Map<String, Type> configTypes = module.getConfigs(); if (configTypes.isEmpty()) { return Collections.emptyList(); } Collection<ConfigMetadataNode> configs = new ArrayList<>(); configTypes.forEach((prefix, type) -> { configs.add(configCompiler.compile(prefix, type)); }); return configs; } }
private ModuleMetadata toModuleMetadata(BQModule module) { return ModuleMetadata .builder(module.getName()) .description(module.getDescription()) .providerName(module.getProviderName()) .addConfigs(toConfigs(module)) .build(); }
private String traceMessage(BQModule module, BQModule overriddenBy) { StringBuilder message = new StringBuilder("Loading module '") .append(module.getName()) .append("'"); String providerName = module.getProviderName(); boolean hasProvider = providerName != null && providerName.length() > 0; if (hasProvider) { message.append(" provided by '").append(providerName).append("'"); } if (overriddenBy != null) { if (hasProvider) { message.append(","); } message.append(" overridden by '").append(overriddenBy.getName()).append("'"); } return message.toString(); } }
/** * Returns a new instance of {@link io.bootique.BQModule.Builder} initialized with module for this provider. * Subclasses can invoke extra builder methods to provide metadata, etc. * * @return a new instance of {@link BQModule} specific to this provider. * @since 0.21 */ default BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()); }
String getModuleName() { return bqModule.getName(); }
public Module getModule() { return bqModule.getModule(); }
/** * Returns a new instance of {@link io.bootique.BQModule.Builder} initialized with module for this provider. * Subclasses can invoke extra builder methods to provide metadata, etc. * * @return a new instance of {@link BQModule} specific to this provider. * @since 0.21 */ default BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()); }
private String traceMessage(BQModule module, BQModule overriddenBy) { StringBuilder message = new StringBuilder("Loading module '") .append(module.getName()) .append("'"); String providerName = module.getProviderName(); boolean hasProvider = providerName != null && providerName.length() > 0; if (hasProvider) { message.append(" provided by '").append(providerName).append("'"); } if (overriddenBy != null) { if (hasProvider) { message.append(","); } message.append(" overridden by '").append(overriddenBy.getName()).append("'"); } return message.toString(); } }
private void checkCycles(RuntimeModule root, List<RuntimeModule> trace) { trace.add(this); if (root == this) { // Add next level, to make error message more clear. trace.add(this.overriddenBy); throw new BootiqueException(1, "Circular override dependency between DI modules: " + trace.stream().map(rm -> rm.bqModule.getName()).collect(Collectors.joining(" -> "))); } if (overriddenBy != null) { overriddenBy.checkCycles(root, trace); } }
public Module getModule() { return bqModule.getModule(); }
@Override public BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()) .description(Messages.SarlcConfigModuleProvider_0); }
private ModuleMetadata toModuleMetadata(BQModule module) { return ModuleMetadata .builder(module.getName()) .description(module.getDescription()) .providerName(module.getProviderName()) .addConfigs(toConfigs(module)) .build(); }
String getModuleName() { return bqModule.getName(); }
private Collection<ConfigMetadataNode> toConfigs(BQModule module) { Map<String, Type> configTypes = module.getConfigs(); if (configTypes.isEmpty()) { return Collections.emptyList(); } Collection<ConfigMetadataNode> configs = new ArrayList<>(); configTypes.forEach((prefix, type) -> { configs.add(configCompiler.compile(prefix, type)); }); return configs; } }
private Builder(Module module) { this.module = new BQModule(); this.module.module = Objects.requireNonNull(module); }
@Override public BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()) .description(Messages.ValidatorConfigModuleProvider_0); }
private void checkCycles(RuntimeModule root, List<RuntimeModule> trace) { trace.add(this); if (root == this) { // Add next level, to make error message more clear. trace.add(this.overriddenBy); throw new BootiqueException(1, "Circular override dependency between DI modules: " + trace.stream().map(rm -> rm.bqModule.getName()).collect(Collectors.joining(" -> "))); } if (overriddenBy != null) { overriddenBy.checkCycles(root, trace); } }
@Override public BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()) .description(Messages.CompilerCommandModuleProvider_0); }
@Override public BQModule.Builder moduleBuilder() { return BQModule .builder(module()) .overrides(overrides()) .providerName(name()) .configs(configs()) .description(Messages.SarlcApplicationModuleProvider_0); }