package constructors
- Alphabetic
- Public
- Protected
Type Members
- sealed trait AnyConstructor[T] extends AnyConstructorOptionalMakeDSL[T]
An implicitly summonable constructor for a type
T
, can generate constructors for:An implicitly summonable constructor for a type
T
, can generate constructors for:- concrete classes (using ClassConstructor)
- traits and abstract classes (Auto-Traits feature, using TraitConstructor)
Since version
1.1.0
, does not generate constructors "factory-like" traits and abstract classes, instead use FactoryConstructor.Use HasConstructor to generate constructors for
zio.Has
values.- returns
import distage.{AnyConstructor, Functoid, Injector, ModuleDef} class A(val i: Int) val constructor: Functoid[A] = AnyConstructor[A] val lifecycle = Injector().produceGet[A](new ModuleDef { make[A].from(constructor) make[Int].fromValue(5) }) lifecycle.use { (a: A) => println(a.i) }
Example: - final class ClassConstructor[T] extends AnyVal with AnyConstructor[T]
An implicitly summonable constructor for a concrete class
T
An implicitly summonable constructor for a concrete class
T
- See also
- final class FactoryConstructor[T] extends AnyVal with AnyConstructor[T]
An implicitly summonable constructor for a "factory-like" trait or abstract class
T
An implicitly summonable constructor for a "factory-like" trait or abstract class
T
- See also
izumi.distage.model.definition.impl recommended documenting annotation for use with FactoryConstructor
- final class HasConstructor[T] extends AnyVal with AnyConstructor[T]
An implicitly summonable constructor for a
T <: zio.Has[A] with zio.Has[B] with zio.Has[C]
An implicitly summonable constructor for a
T <: zio.Has[A] with zio.Has[B] with zio.Has[C]
zio.Has
heterogeneous map values may be used by ZIO or other Reader-like effects- See also
- final class TraitConstructor[T] extends AnyVal with AnyConstructor[T]
An implicitly summonable constructor for a traits or abstract class
T
An implicitly summonable constructor for a traits or abstract class
T
- See also
izumi.distage.model.definition.impl recommended documenting annotation for use with TraitConstructor
Value Members
- object AnyConstructor
- object AnyConstructorOptionalMakeDSL
- object ClassConstructor
- object DebugProperties extends fundamentals.platform.properties.DebugProperties
Java properties that control debug output of AnyConstructor & izumi.distage.model.providers.Functoid macros
Java properties that control debug output of AnyConstructor & izumi.distage.model.providers.Functoid macros
- See also
- object FactoryConstructor
- object HasConstructor
- object TraitConstructor