Skip to content

Latest commit

 

History

History
33 lines (29 loc) · 988 Bytes

README.md

File metadata and controls

33 lines (29 loc) · 988 Bytes

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 😁