Class InjectingApplicationBuilder<T extends InjectingApplicationBuilder<T>>

java.lang.Object
io.github.slimjar.app.builder.ApplicationBuilder<T>
io.github.slimjar.app.builder.InjectingApplicationBuilder<T>
Direct Known Subclasses:
ModularApplicationBuilder

public abstract class InjectingApplicationBuilder<T extends InjectingApplicationBuilder<T>> extends ApplicationBuilder<T>
  • Field Details

  • Constructor Details

    • InjectingApplicationBuilder

      @Contract(pure=true) public InjectingApplicationBuilder(@NotNull @NotNull String applicationName, @NotNull @NotNull Function<T,Injectable> injectableSupplier)
  • Method Details

    • buildApplication

      @Contract(value="-> new", mutates="this") @NotNull protected @NotNull Application buildApplication()
      Specified by:
      buildApplication in class ApplicationBuilder<T extends InjectingApplicationBuilder<T>>
    • create

      @Contract(value="_ -> new", pure=true) @NotNull public static @NotNull InjectingApplicationBuilder<?> create(@NotNull @NotNull String applicationName)
    • create

      @Contract(value="_, _ -> new", pure=true) @NotNull public static @NotNull InjectingApplicationBuilder<?> create(@NotNull @NotNull String applicationName, @NotNull @NotNull ClassLoader classLoader)
    • create

      @Contract(value="_, _ -> new", pure=true) @NotNull public static @NotNull InjectingApplicationBuilder<?> create(@NotNull @NotNull String applicationName, @NotNull @NotNull Injectable injectable)
    • injectableFactory

      @Contract(value="_ -> this", mutates="this") @NotNull public T injectableFactory(@NotNull @NotNull InjectableFactory injectableFactory)
      Sets the InjectableFactory for the builder and returns the builder instance.
      Parameters:
      injectableFactory - the InjectableFactory to configure for this builder instance. It defines how injectables are created using a provided set of resources.
      Returns:
      the current builder instance for chaining calls.
    • getInjectableFactory

      @Contract(mutates="this") @NotNull protected final @NotNull InjectableFactory getInjectableFactory()