gh-pages / com.nextfaze.devfun.inject / ConstructingInstanceProvider
ConstructingInstanceProvider
class ConstructingInstanceProvider :
InstanceProvider
(source)
Provides objects via instance construction. Type must be annotated with Constructable.
Only supports objects with a single constructor. Constructor arguments will fetched using param rootInstanceProvider
.
If Constructable.singleton is true
or type is annotated @Singleton then only one instance will be created and shared.
Parameters
rootInstanceProvider
- An instance provider used to fetch constructor args. If null
, then self (this
) is used
requireConstructable
- Flag indicating if a type must be Constructable to be instantiable
Internal Visible for testing - use at your own risk.
Constructors
Name | Summary |
---|---|
<init> | ConstructingInstanceProvider(rootInstanceProvider: InstanceProvider ? = null, requireConstructable: Boolean = true) Provides objects via instance construction. Type must be annotated with Constructable. |
Properties
Name | Summary |
---|---|
requireConstructable | var requireConstructable: Boolean Flag indicating if a type must be Constructable to be instantiable |
Functions
Name | Summary |
---|---|
get | fun <T : Any > get(clazz: KClass <out T >): T ? Try to get an instance of some clazz. fun <T : Any > get(clazz: KClass <out T >, requireConstructable: Boolean ): T ? |
toString | fun toString(): String |