Injector

distage.Injector$
object Injector extends InjectorFactory

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

object NoCycles

Disable all cycle resolution, immediately throw when circular dependencies are found, whether by-name or not

Disable all cycle resolution, immediately throw when circular dependencies are found, whether by-name or not

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
object NoProxies

Disable cglib proxies, allow only by-name parameters to resolve cycles

Disable cglib proxies, allow only by-name parameters to resolve cycles

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def Standard: Injector.type

Enable cglib proxies, but try to resolve cycles using by-name parameters if they can be used

Enable cglib proxies, but try to resolve cycles using by-name parameters if they can be used

Attributes

override def apply[F[_] : DefaultModule](overrides: BootstrapModule*): Injector[F]

Create a new Injector

Create a new Injector

Attributes

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
override def apply[F[_] : DefaultModule](bootstrapBase: BootstrapContextModule, bootstrapActivation: Activation, parent: Option[Locator], overrides: Seq[BootstrapModule]): 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

Attributes

F

The effect type to use for effect and resource bindings and the result of izumi.distage.model.Injector#produce

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, pass Activation to the methods of the created Injector

bootstrapBase

Initial bootstrap context module, such as izumi.distage.bootstrap.BootstrapLocator.defaultBootstrap

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.

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

Definition Classes
override def apply(): 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

Attributes

Definition Classes
override def bootloader[F[_]](bootstrapModule: BootstrapModule, bootstrapActivation: Activation, defaultModule: DefaultModule[F], input: PlannerInput): Bootloader

Attributes

Definition Classes
override def inherit[F[_] : Tag](parent: Locator): 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.

Attributes

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
override def inheritWithNewDefaultModule[F[_] : Tag](parent: Locator, defaultModule: DefaultModule[F]): 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 in parent.

Attributes

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
override def providedKeys[F[_] : DefaultModule](overrides: BootstrapModule*): Set[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

Attributes

Definition Classes
override def providedKeys[F[_] : DefaultModule](bootstrapBase: BootstrapContextModule, overrides: BootstrapModule*): Set[DIKey]

Attributes

Definition Classes

Deprecated and Inherited methods

final def apply[F[_] : DefaultModule](bootstrapActivation: Activation, overrides: Seq[BootstrapModule]): Injector[F]

Attributes

Deprecated
true
Inherited from:
InjectorFactoryDottyWorkarounds (hidden)
final def apply[F[_] : DefaultModule](bootstrapActivation: Activation, parent: Option[Locator], overrides: Seq[BootstrapModule]): Injector[F]

Attributes

Deprecated
true
Inherited from:
InjectorFactoryDottyWorkarounds (hidden)
final def apply[F[_] : DefaultModule](bootstrapActivation: Activation, parent: Option[Locator]): Injector[F]

Attributes

Deprecated
true
Inherited from:
InjectorFactoryDottyWorkarounds (hidden)