DefaultExtensibleInjectionEnvironment

Constructors

Link copied to clipboard
constructor(context: ExtensibleEnvironmentContext, metaContextKind: InjectionEnvironmentKind<*>)

Properties

Link copied to clipboard

The meta environment for this environment.

Functions

Link copied to clipboard
abstract fun <T : Any> createInjector(identifier: Identifier<T>, onInjection: (T) -> Unit = {}): Injector<T>

Creates an Injector that can be used as a property delegator, bound against the given identifier.

Link copied to clipboard

Performs the internal logic required for setting up a meta-environment. When creating extensible environments, you should either call this function to create your meta environment, or subclass DefaultExtensibleInjectionEnvironment which will do it for you.

Link copied to clipboard
open fun <T : Any> get(identifier: Identifier<T>): T

Gets the component identified by the given identifier. No guarantees are given on this function - it may not be idempotent, depending on the actual implementation.

Link copied to clipboard
inline fun <T : Any> InjectionEnvironment.get(qualifier: Qualifier = EmptyQualifier): T

Gets the component identified by the given type turned into an Identifier with an optional qualifier. Throws an exception if no component with this identifier exists.

Link copied to clipboard

Returns a sequence of all the known identifiers present in this environment.

Link copied to clipboard

Retrieve the fundef wrapper for the given function, or throw an exception if no such fundef could be found.

Link copied to clipboard
abstract fun <T : Any> getOrNull(identifier: Identifier<T>): T?

Gets the component identified by the given identifier, or null if no such component exists. No guarantees are given on this function - it may not be idempotent, depending on the actual implementation.

Link copied to clipboard
inline fun <T : Any> InjectionEnvironment.getOrNull(qualifier: Qualifier = EmptyQualifier): T?

Gets the component identified by the given type turned into an Identifier with an optional qualifier. Returns null if no component with this identifier exists.

Link copied to clipboard
abstract fun <T : Any> getResolverOrNull(identifier: Identifier<T>): IdentifierResolver<T>?

Returns the resolver associated with the given identifier.