Packages

object Injector extends InjectorFactory

Linear Supertypes
InjectorFactory, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Injector
  2. InjectorFactory
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def Standard: Injector.type

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

  5. def apply(): Injector[Identity]

    Create a new default Injector with izumi.fundamentals.platform.functional.Identity effect type

    Create a new default Injector with izumi.fundamentals.platform.functional.Identity effect type

    Use apply[F]() variant to specify a different effect type

    Definition Classes
    InjectorInjectorFactory
    Note

    this method exists only because of Scala 2.12's sub-par implicit handling: 2.12 fails to default to QuasiIO.quasiIOIdentity when writing Injector() if cats-effect is on the classpath because of recursive (on 2.12: diverging) instances in cats.effect.kernel.Sync object

  6. def apply[F[_]](parent: Option[Locator] = None, bootstrapBase: BootstrapContextModule = defaultBootstrap, bootstrapActivation: Activation = defaultBootstrapActivation, bootstrapOverrides: Seq[BootstrapModule] = Nil, bootstrapLocatorPrivacy: LocatorPrivacy = defaultBootstrapLocatorPrivacy, bootstrapRootsMode: BootstrapRootsMode = defaultBootstrapRootsMode)(implicit arg0: QuasiIO[F], arg1: TagK[F], arg2: DefaultModule[F]): 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

    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

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

    bootstrapOverrides

    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
    InjectorInjectorFactory
  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def bootloader[F[_]](bootstrapModule: BootstrapModule, bootstrapActivation: Activation, defaultModule: DefaultModule[F], input: PlannerInput): Bootloader
    Definition Classes
    InjectorInjectorFactory
  9. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  10. def defaultBootstrap: BootstrapContextModule
    Attributes
    protected
    Definition Classes
    InjectorInjectorFactory
    Annotations
    @inline()
  11. def defaultBootstrapActivation: Activation
    Attributes
    protected
    Definition Classes
    InjectorInjectorFactory
    Annotations
    @inline()
  12. def defaultBootstrapLocatorPrivacy: LocatorPrivacy
    Attributes
    protected
    Definition Classes
    InjectorInjectorFactory
    Annotations
    @inline()
  13. def defaultBootstrapRootsMode: BootstrapRootsMode
    Attributes
    protected
    Definition Classes
    InjectorInjectorFactory
    Annotations
    @inline()
  14. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  19. def inherit[F[_]](parent: Locator)(implicit arg0: QuasiIO[F], arg1: TagK[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.

    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
    InjectorInjectorFactory
  20. def inheritWithNewDefaultModule[F[_]](parent: Locator, defaultModule: DefaultModule[F])(implicit arg0: QuasiIO[F], arg1: TagK[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.

    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
    InjectorInjectorFactory
  21. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  25. def providedKeys[F[_]](bootstrapBase: BootstrapContextModule, bootstrapOverrides: BootstrapModule*)(implicit arg0: DefaultModule[F]): Set[DIKey]
    Definition Classes
    InjectorInjectorFactory
  26. def providedKeys[F[_]](bootstrapOverrides: BootstrapModule*)(implicit arg0: DefaultModule[F]): 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

    Definition Classes
    InjectorInjectorFactory
  27. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  28. def toString(): String
    Definition Classes
    AnyRef → Any
  29. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. final def withoutDefaultModule[F[_]](parent: Option[Locator] = None, bootstrapBase: BootstrapContextModule = defaultBootstrap, bootstrapActivation: Activation = defaultBootstrapActivation, overrides: Seq[BootstrapModule] = Nil, locatorPrivacy: distage.LocatorPrivacy = defaultBootstrapLocatorPrivacy, bootstrapRootsMode: BootstrapRootsMode = defaultBootstrapRootsMode)(implicit arg0: QuasiIO[F], arg1: TagK[F]): Injector[F]

    Alias for apply[F] that doesn't add a DefaultModule for F into bindings.

    Alias for apply[F] that doesn't add a DefaultModule for F into bindings.

    distage-core doesn't require bindings provided by DefaultModule, but some extensions, such as distage-framework-docker expect them to be defined

    Definition Classes
    InjectorFactory
  33. object NoCycles extends InjectorBootstrap

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

  34. object NoProxies extends InjectorBootstrap

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

Inherited from InjectorFactory

Inherited from AnyRef

Inherited from Any

Ungrouped