quantummaid / injectmaid

Lightweight dependency injection framework that does not rely on annotations.
https://quantummaid.de
Apache License 2.0
9 stars 0 forks source link

[ISSUE] `withInstance` configuration method #36

Closed quantummaiddeveloper closed 3 years ago

quantummaiddeveloper commented 4 years ago
fun <T> InjectMaidBuilder.withSingletonImplementation(interfaceClass: Class<T>, implClass: Class<out T>): InjectMaidBuilder {
    withType(implClass, ReusePolicy.SINGLETON)
    withImplementation(interfaceClass, implClass)
    return this
}

fun <T : Any> InjectMaidBuilder.withInstance(instance: T): InjectMaidBuilder {
    withInstance(instance.javaClass, instance)
    return this
}

fun <T> InjectMaidBuilder.withInstance(type: Class<T>, instance: T): InjectMaidBuilder {
    withCustomType(type, { instance }, ReusePolicy.SINGLETON)
    return this
}