PlannerInput

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

Attributes

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

Members list

Concise view

Type members

Inherited 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: