object Injector extends InjectorFactory
- Alphabetic
- By Inheritance
- Injector
- InjectorFactory
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def Standard: Injector.type
Enable bytebuddy proxies, but try to resolve cycles using by-name parameters if they can be used
- def apply(): distage.Injector[Identity]
Create a default Injector with izumi.fundamentals.platform.functional.Identity effect type
Create a default Injector with izumi.fundamentals.platform.functional.Identity effect type
Use
apply[F]()
variant to specify a different effect type- Definition Classes
- Injector → InjectorFactory
- def apply[F[_]](bootstrapBase: BootstrapContextModule = defaultBootstrap, bootstrapActivation: distage.Activation = defaultBootstrapActivation, parent: Option[distage.Locator] = None, overrides: Seq[distage.BootstrapModule] = Nil)(implicit arg0: QuasiIO[F], arg1: distage.TagK[F], arg2: distage.DefaultModule[F]): distage.Injector[F]
Create a new Injector with custom parameters izumi.distage.model.definition.BootstrapContextModule
Create a new Injector with custom parameters izumi.distage.model.definition.BootstrapContextModule
- F
The effect type to use for effect and resource bindings and the result of izumi.distage.model.Injector#produce
- bootstrapBase
Initial bootstrap context module, such as izumi.distage.bootstrap.BootstrapLocator.defaultBootstrap
- bootstrapActivation
A map of axes of configuration to choices along these axes. The passed activation will affect _only_ the bootstrapping of the
Injector
itself (see izumi.distage.bootstrap.BootstrapLocator). To set activation choices for subsequent injections, passActivation
to the methods of the createdInjector
- parent
If set, this locator will be used as parent for the bootstrap locator. Use this parameter if you want to reuse components from another injection BUT also want to recreate the bootstrap environment with new parameters. If you just want to reuse all components, including the bootstrap environment, use inherit
- overrides
Overrides of Injector's own bootstrap environment - injector itself is constructed with DI. They can be used to customize the Injector, e.g. by adding members to izumi.distage.model.planning.PlanningHook Set.
- Definition Classes
- Injector → InjectorFactory
- def apply[F[_]](overrides: distage.BootstrapModule*)(implicit arg0: QuasiIO[F], arg1: distage.TagK[F], arg2: distage.DefaultModule[F]): distage.Injector[F]
Create a new Injector
Create a new Injector
- F
the effect type to use for effect and resource bindings and the result of izumi.distage.model.Injector#produce
- overrides
Optional: Overrides of Injector's own bootstrap environment - injector itself is constructed with DI. They can be used to customize the Injector, e.g. by adding members to izumi.distage.model.planning.PlanningHook Set.
- Definition Classes
- Injector → InjectorFactory
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bootloader[F[_]](bootstrapModule: distage.BootstrapModule, bootstrapActivation: distage.Activation, defaultModule: distage.DefaultModule[F], input: distage.PlannerInput): Bootloader
- Definition Classes
- Injector → InjectorFactory
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def defaultBootstrap: BootstrapContextModule
- Attributes
- protected[this]
- Definition Classes
- Injector → InjectorFactory
- Annotations
- @inline()
- def defaultBootstrapActivation: distage.Activation
- Attributes
- protected[this]
- Definition Classes
- Injector → InjectorFactory
- Annotations
- @inline()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def inherit[F[_]](parent: distage.Locator)(implicit arg0: QuasiIO[F], arg1: distage.TagK[F]): distage.Injector[F]
Create a new injector inheriting configuration, hooks and the object graph from a previous injection.
Create a new injector inheriting configuration, hooks and the object graph from a previous injection.
- F
the effect type to use for effect and resource bindings and the result of izumi.distage.model.Injector#produce
- parent
Instances from parent izumi.distage.model.Locator will be available as imports in new Injector's produce
- Definition Classes
- Injector → InjectorFactory
- def inheritWithNewDefaultModule[F[_]](parent: distage.Locator, defaultModule: distage.DefaultModule[F])(implicit arg0: QuasiIO[F], arg1: distage.TagK[F]): distage.Injector[F]
Create a new injector inheriting configuration, hooks and the object graph from a previous injection.
Create a new injector inheriting configuration, hooks and the object graph from a previous injection.
Unlike inherit this will fully (re)create the
defaultModule
in subsequent injections, without reusing the existing instances inparent
.- F
the effect type to use for effect and resource bindings and the result of izumi.distage.model.Injector#produce
- parent
Instances from parent izumi.distage.model.Locator will be available as imports in new Injector's produce
- Definition Classes
- Injector → InjectorFactory
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def providedKeys[F[_]](bootstrapBase: BootstrapContextModule, overrides: distage.BootstrapModule*)(implicit arg0: distage.DefaultModule[F]): Set[distage.DIKey]
- Definition Classes
- Injector → InjectorFactory
- def providedKeys[F[_]](overrides: distage.BootstrapModule*)(implicit arg0: distage.DefaultModule[F]): Set[distage.DIKey]
Keys summonable by default in DI, *including* those added additionally by izumi.distage.modules.DefaultModule
Keys summonable by default in DI, *including* those added additionally by izumi.distage.modules.DefaultModule
- Definition Classes
- Injector → InjectorFactory
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object NoCycles extends InjectorBootstrap
Disable all cycle resolution, immediately throw when circular dependencies are found, whether by-name or not
- object NoProxies extends InjectorBootstrap
Disable bytebuddy proxies, allow only by-name parameters to resolve cycles