Package de.peekandpoke.ultra.kontainer

Types

Link copied to clipboard
class DependencyLookup

A lookup for mapping service class to service classes that they request for injection.

Link copied to clipboard
class DynamicOverrides
Link copied to clipboard
data class DynamicsChecker

Helper class to validate the correctness instances passed KontainerBlueprint.create.

Link copied to clipboard
data class InjectionContext

The injection context as passed through to all parameter providers.

Link copied to clipboard
enum InjectionType : Enum<InjectionType>

Type of injection

Link copied to clipboard
class InvalidClassProvided(message: String) : KontainerException
Link copied to clipboard
class InvalidServiceFactory(message: String) : KontainerException
Link copied to clipboard
class Kontainer

The container

Link copied to clipboard
class KontainerBlueprint

The Kontainer blueprint is built by the KontainerBuilder

Link copied to clipboard
class KontainerBuilder
Link copied to clipboard
open class KontainerException(message: String) : Throwable
Link copied to clipboard
class KontainerInconsistent(message: String) : KontainerException
Link copied to clipboard
class KontainerModule(module: KontainerBuilder.() -> Unit)

Kontainer module

Link copied to clipboard
class KontainerTools
Link copied to clipboard
interface KontainerTracker

Keeps track of instantiated kontainers and services

Link copied to clipboard
class LazyServiceLookup<T : Any>(    kontainer: Kontainer,     context: InjectionContext,     map: Map<KClass<out T>, (Kontainer, InjectionContext) -> T>) : Lookup<T>

Lazy Lookup implementation

Link copied to clipboard
class LazyServiceLookupBlueprint<T : Any>(map: Map<KClass<out T>, (Kontainer, InjectionContext) -> T>)

The blueprint is a pre-stage of the LazyServiceLookup and can be re-used with a InjectionContext

Link copied to clipboard
class ParameterizedKontainerModule<P>(module: KontainerBuilder.(P) -> Unit)

Parameterized Kontainer module

Link copied to clipboard
class ParameterizedKontainerModule2<P1, P2>(module: KontainerBuilder.(P1, P2) -> Unit)

Parameterized Kontainer module

Link copied to clipboard
class ParameterizedKontainerModule3<P1, P2, P3>(module: KontainerBuilder.(P1, P2, P3) -> Unit)

Parameterized Kontainer module

Link copied to clipboard
interface ParameterProvider

ParameterProviders provide parameters needed to instantiate services.

Link copied to clipboard
class ServiceAmbiguous(message: String) : KontainerException
Link copied to clipboard
class ServiceDefinition

Defines a service

Link copied to clipboard
class ServiceNotFound(message: String) : KontainerException
Link copied to clipboard
class ServiceProducer<T : Any>

Produce service instance

Link copied to clipboard
interface ServiceProvider

Service providers create instances of services

Link copied to clipboard
class ServiceProviderFactory(    val blueprint: KontainerBlueprint,     val dynamics: DynamicOverrides,     providerProviders: Map<KClass<*>, ServiceProvider.Provider>)
Link copied to clipboard
abstract class TypeLookup

Helpers for looking up base and super types.

Functions

Link copied to clipboard
fun kontainer(builder: KontainerBuilder.() -> Unit): KontainerBlueprint

Creates a kontainer blueprint

Link copied to clipboard
fun module(builder: KontainerBuilder.() -> Unit): KontainerModule

Creates a kontainer module

fun <P> module(builder: KontainerBuilder.(P) -> Unit): ParameterizedKontainerModule<P>

Creates a parameterized kontainer module

fun <P1, P2> module(builder: KontainerBuilder.(P1, P2) -> Unit): ParameterizedKontainerModule2<P1, P2>

Creates a parameterized kontainer module with two parameters

fun <P1, P2, P3> module(builder: KontainerBuilder.(P1, P2, P3) -> Unit): ParameterizedKontainerModule3<P1, P2, P3>

Creates a parameterized kontainer module with three parameters