protected void testMetadata() { testWithFactory(testFactory -> { // must auto-load modules to ensure all tested module dependencies are present... BQRuntime runtime = testFactory.app().autoLoadModules().createRuntime(); BQModuleProvider provider = matchingProvider(); String providerName = provider.name(); // loading metadata ensures that all annotations are properly applied... Optional<ModuleMetadata> moduleMetadata = runtime .getInstance(ModulesMetadata.class) .getModules() .stream() .filter(mmd -> providerName.equals(mmd.getProviderName())) .findFirst(); assertTrue("No module metadata available for provider: '" + providerName + "'", moduleMetadata.isPresent()); moduleMetadata.get().getConfigs(); }); }
/** * 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()); }
/** * 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()); }