const mixinafIoc::DependencyProvider

afIoc::DependencyProvider

Implement to provide your own dependency resolution. Extend the capabilities of IoC!

Provide your own dependencies for fields annotated with the @Inject facet. Typically you would augment @Inject with your own facet to provide injection meta. See @ServiceId and @Autobuild for built-in examples.

Contribute DependencyProvider instances to the DependencyProviders service.

@Contribute { serviceType=DependencyProviders# }
static Void contributeDependencyProviders(Configuration conf) {
  conf["myProvider"] = conf.autobuild(MyProvider#)
}

Due to DependencyProviders being instantiated before the Registry is fully loaded, DependencyProviders should not be proxied.

@since 1.1

canProvide

Source

abstract Bool canProvide(InjectionCtx injectionCtx)

Return true if the provider can provide. (!)

provide

Source

abstract Obj? provide(InjectionCtx injectionCtx)

Return the dependency to be injected. All details of the injection to be performed is in InjectionCtx.