Attributes
- Companion
- object
- Graph
-
- Supertypes
Members list
Value members
Concrete methods
Attributes
- Definition Classes
Same as .produce[F]().use(f)
Same as .produce[F]().use(f)
Attributes
- Note
-
Resources allocated by the subcontext will be closed after
fexits. Useproduceif you need to extend the lifetime of the Subcontext's resources. - Definition Classes
Attributes
- Definition Classes
Attributes
- Definition Classes
Unsafely substitute the Functoid that extracts the root component.
Unsafely substitute the Functoid that extracts the root component.
Note, because the plan has been calculated ahead of time with A as the root, it's not possible to request additional components via Functoid that weren't already in the graph as dependencies of A – everything that A doesn't depend on is not in the plan.
Example:
val submodule = new ModuleDef {
make[Int].fromValue(3)
make[Int].named("five").from((_: Int) + 2)
make[String].fromValue("x")
}
makeSubcontext[Int].named("five").withSubmodule(submodule)
...
(subcontext: Subcontext[Int])
.unsafeModify(_ => Functoid.identity[String])
.produceRun(println(_))
// error: `String` is not available
A binding for String is defined in the submodule, but is not referenced by Int @Id("five") binding. Therefore, it was removed by garbage collection and cannot be extracted with this Subcontext. You'd have to create another Subcontext[String] with the same submodule to create String:
makeSubcontext[String](submodule)
...
(subcontext: Subcontext[String])
.produceRun(println(_))
// x
If you DO need dynamic replanning, you'll need to use nested injection directly.
Attributes
- Definition Classes
Inherited methods
Attributes
- Inherited from:
- Subcontext
Attributes
- Inherited from:
- Subcontext
Attributes
- Inherited from:
- Subcontext
Attributes
- Inherited from:
- Subcontext
Attributes
- Inherited from:
- Subcontext
Deprecated and Inherited methods
Attributes
- Deprecated
-
[Since version 1.3.0]use regular produceRun with Subcontext[F = Identity] - Inherited from:
- Subcontext