Skip to content
/ Paon Public

Small Kotlin dependency injection library, only for learning et testing purposes

Notifications You must be signed in to change notification settings

medhdj/Paon

Repository files navigation

Paon

Small Kotlin dependency injection library, only for learning et testing purposes

How to use:

1 create a PaonProvidersModule to list and provide dependecies:

object SamplePaonProvidersModule : PaonProvidersModule {

    @PaonProvides
    fun provideDummyClass2() = DummyClass2()

    @PaonProvides
    fun provideDummyClass1(c2: DummyClass2) = DummyClass1(c2)
}

2 create a PaonComponentsRegistry and start to register the classes you need to inject

val componentsRegistry = ReflectionPaonComponentsRegistry()
componentsRegistry.register(DummyClass1::class)
componentsRegistry.register(DummyClass2::class)

3 create your PaonContainer and start using it

val ponContainer = DefaultPaonContainer.DefaultBuilder(
            providersModule = SamplePaonProvidersModule,
            componentsRegistry = componentsRegistry
        ).build()
...
...
val dummy1 = ponContainer.inject(DummyClass1::class)

That's it, Happy injecting 😁

About

Small Kotlin dependency injection library, only for learning et testing purposes

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages