AbstractApplicationBuilder implements ApplicationBuilder<APP, BUILDER> { @Override public BUILDER withIpAddress(final String ipAddress) { requireNonNull(ipAddress); with(Dbms.class, d -> d.mutator().setIpAddress(ipAddress)); return self(); } protected  AbstractApplicationBuilder(
        final Class<? extends APP> applicationImplClass,
        final Class<? extends ApplicationMetadata> metadataClass
    ); protected  AbstractApplicationBuilder(
        final ClassLoader classLoader,
        final Class<? extends APP> applicationImplClass,
        final Class<? extends ApplicationMetadata> metadataClass
    ); protected  AbstractApplicationBuilder(final InjectorBuilder injectorBuilder); @Override BUILDER with(
        final Class<C> type,
        final String name,
        final BiConsumer<Injector, C> consumer
    ); @Override BUILDER with(
        final Class<C> type,
        final BiConsumer<Injector, C> consumer
    ); @Override BUILDER with(
            final Class<C> type,
            final Consumer<C> consumer
    ); @Override BUILDER withParam(final String key, final String value); @Override BUILDER withPassword(final char[] password); @Override BUILDER withPassword(final String dbmsName, final char[] password); @Override BUILDER withPassword(final String password); @Override BUILDER withPassword(final String dbmsName, final String password); @Override BUILDER withUsername(final String username); @Override BUILDER withUsername(final String dbmsName, final String username); @Override BUILDER withIpAddress(final String ipAddress); @Override BUILDER withIpAddress(final String dbmsName, final String ipAddress); @Override BUILDER withPort(final int port); @Override BUILDER withPort(final String dbmsName, final int port); @Override BUILDER withSchema(final String schemaName); @Override BUILDER withSchema(final String oldSchemaName, final String schemaName); @Override BUILDER withConnectionUrl(final String connectionUrl); @Override BUILDER withConnectionUrl(final String dbmsName, final String connectionUrl); @Override BUILDER withManager(final Class<M> managerImplType); @Override BUILDER withSkipCheckDatabaseConnectivity(); @Override BUILDER withSkipValidateRuntimeConfig(); @Override BUILDER withSkipLogoPrintout(); @Override BUILDER withBundle(final Class<? extends InjectBundle> bundleClass); @Override BUILDER withComponent(final Class<?> injectableClass); BUILDER withComponent(final Class<T> injectableClass, final Supplier<T> supplier); @Override BUILDER withInjectorProxy(final InjectorProxy injectorProxy); @Override BUILDER withLogging(final HasLoggerName namer); @Override BUILDER withAllowStreamIteratorAndSpliterator(); @Override final APP build();  }
@Test void withIpAddressTest() { final String expected = "Olle"; instance.withIpAddress(COLUMN_IDENTITY, expected); final String actual = instance.build().getOrThrow(ProjectComponent.class).getProject().dbmses().findFirst().get().getIpAddress().get(); assertEquals(expected, actual); }