# BootstrapContext class abstract interface

A context used during JetLeaf's bootstrapping phase for accessing and managing lazily-created instances by their reflected Class types.

Unlike a full ApplicationContext, the BootstrapContext is lightweight, type-safe, and used primarily during the initialization of the application, such as within `ApplicationContextInitializer` or `ApplicationRunner`.

Supports lazy creation, fallback supply, and registration checks.

Example:

    class CustomInitializer implements ApplicationContextInitializer {
      @override
      void initialize(ConfigurableApplicationContext context) {
        final BootstrapContext bootstrap = context.getBootstrapContext();

        final Logger logger = bootstrap.getOrElseSupply(
          Class<Logger>(),
          () => Logger('MyApp')
        );
      }
    }

Implementers
  - ConfigurableBootstrapContext

## Properties

hashCode → int
  The hash code for this object.
  no setter inherited
runtimeType → Type
  A representation of the runtime type of the object.
  no setter inherited

## Methods

close(ConfigurableApplicationContext applicationContext) → void
  Closes the bootstrap context by firing a `BootstrapContextClosedEvent`.
get<T>(Class<T> type, {T? orElse, Supplier<T>? orSupply}) → T
  Returns an instance of the given `type` if it has been registered in the context. The instance will be lazily created on first access.
getApplicationClass() → Class<Object>
  Returns the application class registered in this context.
getOrThrow<T, X extends Throwable>(Class<T> type, Supplier<X> exceptionSupplier) → T
  Returns an instance of the given `type` if registered.
isClassRegistered<T>(Class<T> type) → bool
  Checks whether a `type` has already been registered in this context.
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a nonexistent method or property is accessed.
  inherited
setApplicationClass(Class<Object> applicationClass) → void
  Sets the application class in this context.
toString() → String
  A string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator.
  inherited