CanonicalIdentifierResolver

abstract class CanonicalIdentifierResolver<T : Any> : IdentifierResolver<T>

A canonical resolver. A resolver is canonical if it contains the actual instance of a component. This is opposite to some other resolvers like aliases.

Constructors

Link copied to clipboard
fun CanonicalIdentifierResolver()

Functions

Link copied to clipboard
abstract fun resolve(requester: Any?, components: EnvironmentComponents): T

Resolve using the given components. The components may be used in case the resolver requires more complicated use cases.

Properties

Link copied to clipboard
abstract val actualClass: KClass<out T>

The actual class of the instance of the component, disregarding what it was declared as. This is used for discovering services, etc.

Link copied to clipboard
abstract val requirements: List<Identifier<*>>

The requirements for this resolver, i.e. the identifiers that this resolver needs from the components argument of resolve. This information is used for dependency analysis to properly "link" components that are resolved against during resolution, such as with aliases.

Inheritors

Link copied to clipboard