Package com.tick42.glue.core

# Interface GlueApplication.Builder<B extends GlueApplication.Builder<B,​A>,​A extends GlueApplication>

Type Parameters:
  `B` - type of this builder
  `A` - type of the application

All Known Subinterfaces:
  `Glue.Builder`

All Known Implementing Classes:
  `Tick42Glue.Builder`

Enclosing interface:
  GlueApplication

    public static interface GlueApplication.Builder<B extends GlueApplication.Builder<B,​A>,​A extends GlueApplication>

Helper to build a `GlueApplication` instance.

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `default A` | `build()` | Convenience method to call `buildAsync()` and block on the result.
  `CompletionStage<? extends A>` | `buildAsync()` | Creates the Glue application with the options specified by this builder.
  `B` | `withApplicationName​(String applicationName)` | Set the desired application name.
  `B` | `withConfigLoader​(Supplier<GlueConfig> configLoader)` | Set the configuration loader to use.
  `B` | `withShutdownRequestListener​(Consumer<Glue> shutDownRequestListener)` | Set shutdown listener.

- ## Method Details

  - ### withConfigLoader

    B withConfigLoader​(Supplier<GlueConfig> configLoader)
    Set the configuration loader to use.
    Parameters:
      `configLoader` - configuration loader to use, not `null`
    Returns:
      this builder, never `null`

  - ### withApplicationName

    B withApplicationName​(String applicationName)
    Set the desired application name.
    Parameters:
      `applicationName` - name to use, not `null`
    Returns:
      this builder, never `null`
    Since:
      1.3

  - ### withShutdownRequestListener

    B withShutdownRequestListener​(Consumer<Glue> shutDownRequestListener)
    Set shutdown listener.
    Parameters:
      `shutDownRequestListener` - the listener to use, not `null`
    Returns:
      this builder, never `null`
    Since:
      1.3.8

  - ### buildAsync

    CompletionStage<? extends A> buildAsync()
    Creates the Glue application with the options specified by this builder.
    Returns:
      a stage that completes when the Glue application is fully initialized, never `null`

  - ### build

    default A build()
    Convenience method to call `buildAsync()` and block on the result.
    Returns:
      Glue application instance, never `null`
    Throws:
      `GlueException` - if cannot build the instance