android-beans / rocks.frieler.android.beans.scopes.singleton / SingletonScopedFactoryBean

SingletonScopedFactoryBean

class SingletonScopedFactoryBean<T : Any> : GenericScopedFactoryBean<T>

ScopedFactoryBean for beans of the singleton-scope.

There will be only a single instance of that bean, just as it would when defined without any factory except that the bean will be instantiated lazily by the factory.

Author
Christopher Frieler

Constructors

<init>

SingletonScopedFactoryBean(type: KClass<T>, producer: BeansProvider.() -> T)

ScopedFactoryBean for beans of the singleton-scope.

Inherited Properties

beanType

open val beanType: KClass<T>

Returns the type of the bean produced by this ScopedFactoryBean.

scope

open val scope: String

Returns the name of the scope, where the bean produced by this ScopedFactoryBean lives in.

Inherited Functions

produceBean

open fun produceBean(dependencies: BeansProvider): T

Produces a new bean of type T.

Companion Object Functions

lazyInstantiated

fun <T : Any> lazyInstantiated(type: Class<T>, producer: () -> T): BeanDefinition<SingletonScopedFactoryBean<*>>

Provides a BeanDefinition for a SingletonScopedFactoryBean that produces a bean of the given type using the given producer without dependencies.

fun <T : Any> lazyInstantiated(type: Class<T>, producer: BeansProvider.() -> T): BeanDefinition<SingletonScopedFactoryBean<*>>

Provides a BeanDefinition for a SingletonScopedFactoryBean that produces a bean of the given type using the given producer with dependencies.

Extension Functions

decorate

fun <T : Any> ScopedFactoryBean<T>.decorate(): ScopedFactoryBeanDecorator<T>