PlannerInput

izumi.distage.model.PlannerInput
See thePlannerInput companion class
object PlannerInput

Attributes

Companion
class
Graph
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Members list

Type members

Inherited and Abstract types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Attributes

Inherited from:
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Attributes

Inherited from:
Mirror

Value members

Concrete methods

def apply(bindings: ModuleBase, activation: Activation, roots: NESet[_ <: DIKey]): PlannerInput

Instantiate roots and the dependencies of roots, discarding bindings that are unrelated.

Instantiate roots and the dependencies of roots, discarding bindings that are unrelated.

Effectively, this selects and creates a sub-graph of the largest possible object graph that can be described by bindings

Attributes

def apply(bindings: ModuleBase, activation: Activation, roots: Set[_ <: DIKey])(implicit d: DummyImplicit): PlannerInput

Instantiate roots and the dependencies of roots, discarding bindings that are unrelated.

Instantiate roots and the dependencies of roots, discarding bindings that are unrelated.

Effectively, this selects and creates a sub-graph of the largest possible object graph that can be described by bindings

Attributes

def apply(bindings: ModuleBase, activation: Activation, root: DIKey, roots: DIKey*): PlannerInput

Instantiate root, roots and their dependencies, discarding bindings that are unrelated.

Instantiate root, roots and their dependencies, discarding bindings that are unrelated.

Effectively, this selects and creates a sub-graph of the largest possible object graph that can be described by bindings

Attributes

def everything(bindings: ModuleBase, activation: Activation): PlannerInput

Disable all dependency pruning. Every binding in bindings will be instantiated, without selection of the root components. There's almost always a better way to model things though.

Disable all dependency pruning. Every binding in bindings will be instantiated, without selection of the root components. There's almost always a better way to model things though.

Attributes

def target[T : Tag](bindings: ModuleBase, activation: Activation): PlannerInput

Instantiate T and the dependencies of T, discarding bindings that are unrelated.

Instantiate T and the dependencies of T, discarding bindings that are unrelated.

Effectively, this selects and creates a sub-graph of the largest possible object graph that can be described by bindings

Attributes

def target[T : Tag](name: String)(bindings: ModuleBase, activation: Activation): PlannerInput

Instantiate T @Id(name) and the dependencies of T @Id(name), discarding bindings that are unrelated.

Instantiate T @Id(name) and the dependencies of T @Id(name), discarding bindings that are unrelated.

Effectively, this selects and creates a sub-graph of the largest possible object graph that can be described by bindings

Attributes

See also