LocatorDef

izumi.distage.model.definition.LocatorDef
See theLocatorDef companion object

Attributes

Companion:
object
Graph
Supertypes

Members list

Concise view

Type members

Inherited classlikes

final class MutationContext

Use this to create utility functions that add bindings mutably to the current module, as opposed to creating new modules and including them.

Use this to create utility functions that add bindings mutably to the current module, as opposed to creating new modules and including them.

Example:

 import distage.{ClassConstructor, Tag, ModuleDef}
 import izumi.distage.model.definition.dsl.ModuleDefDSL

 trait RegisteredComponent
 class RegisteredComponentImpl extends RegisteredComponent

 def addAndRegister[T <: RegisteredComponent: Tag: ClassConstructor](implicit mutateModule: ModuleDefDSL#MutationContext): Unit = {
   new mutateModule.dsl {
     make[T]

     many[RegisteredComponent]
       .weak[T]
   }
 }

 new ModuleDef {
   addAndRegister[RegisteredComponentImpl]
 }

Attributes

Inherited from:
AbstractBindingDefDSL
Graph
Supertypes
class Object
trait Matchable
class Any

Value members

Concrete methods

override def finalizers[F[_] : Tag]: Seq[Finalizer[F]]

Attributes

Definition Classes
override def index: Map[DIKey, Any]

Attributes

Returns:

Only instances directly contained in this Locator, NOT instances in its parent Locators. Returned keys will be unique.

Definition Classes
override def instances: Seq[IdentifiedRef]

Objects in this locator in order of creation

Objects in this locator in order of creation

Attributes

Returns:

Only instances directly contained in this Locator, NOT instances in its parent Locators. Returned keys will be unique.

Definition Classes
override def meta: LocatorMeta

Attributes

Definition Classes
override def parent: Option[Locator]

Attributes

Definition Classes
override def plan: Plan

The plan that produced this object graph

The plan that produced this object graph

Attributes

Definition Classes

Inherited methods

final def allInstances: Seq[IdentifiedRef]

Attributes

Returns:

ALL instances contained in this locator and in all the parent locators, including injector bootstrap environment. Returned keys may overlap if parent locators contain objects for the same key. Instances from parent locators will be earlier in the list than instances from this locator.

See also:

izumi.distage.bootstrap.BootstrapLocator

Inherited from:
Locator
final override def find[T : Tag](id: Identifier): Option[T]

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def find[T : Tag]: Option[T]

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def get[T : Tag](id: Identifier): T

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def get[T : Tag]: T

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def lookupInstance[T : Tag](key: DIKey): Option[T]

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def lookupInstanceOrThrow[T : Tag](key: DIKey): T

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def lookupRef[T : Tag](key: DIKey): Option[TypedRef[T]]

Attributes

Definition Classes
Inherited from:
AbstractLocator
final override def lookupRefOrThrow[T : Tag](key: DIKey): TypedRef[T]

Attributes

Definition Classes
Inherited from:
AbstractLocator
final def run[T](function: Functoid[T]): T

Run function filling all the arguments from the object graph.

Run function filling all the arguments from the object graph.

Works similarly to function bindings in izumi.distage.model.definition.ModuleDef.

 objects.run {
   (hellower: Hellower, bye: Byer) =>
     hellower.hello()
     byer.bye()
 }

Attributes

See also:
Inherited from:
Locator
final def runOption[T](function: Functoid[T]): Option[T]

Same as run but returns None if any of the arguments could not be fulfilled

Same as run but returns None if any of the arguments could not be fulfilled

Attributes

Inherited from:
Locator