izumi.distage.model.definition.dsl.IncludesDSL.TagMergePolicy
See theTagMergePolicy companion trait
object TagMergePolicy
Attributes
- Companion
- trait
- Graph
-
- Supertypes
-
trait Sumtrait Mirrorclass Objecttrait Matchableclass Any
- Self type
-
TagMergePolicy.type
Members list
Type members
Classlikes
final case class MergePreferExistingWith(newTags: Set[BindingTag]) extends TagMergePolicy
new ModuleDef {
tag(A.X)
include(new ModuleDef {
make[X].tagged(B.C)
}, TagMergePolicy.MergePreferExistingWith(Set(B.D, C.G)))
}
// result:
make[X].tagged(A.X, B.C, C.G)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
case object MergePreferInner extends TagMergePolicy
new ModuleDef {
tag(A.X, B.C)
include(new ModuleDef {
make[X].tagged(A.Y)
}, TagMergePolicy.MergePreferInner)
}
// result:
make[X].tagged(A.Y, B.C)
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
- Self type
-
MergePreferInner.type
final case class MergePreferNewWith(newTags: Set[BindingTag]) extends TagMergePolicy
new ModuleDef {
tag(A.X)
include(new ModuleDef {
make[X].tagged(B.C)
}, TagMergePolicy.MergePreferNewWith(Set(B.D, C.G)))
}
// result:
make[X].tagged(A.X, B.D, C.G)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
case object MergePreferOuter extends TagMergePolicy
new ModuleDef {
tag(A.X, B.C)
include(new ModuleDef {
make[X].tagged(A.Y)
}, TagMergePolicy.MergePreferOuter)
}
// result:
make[X].tagged(A.X, B.C)
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
- Self type
-
MergePreferOuter.type
final case class ReplaceWith(newTags: Set[BindingTag]) extends TagMergePolicy
new ModuleDef {
tag(A.X)
include(new ModuleDef {
make[X].tagged(B.C)
}, TagMergePolicy.ReplaceWith(Set(C.G)))
}
// result:
make[X].tagged(C.G)
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
case object UseOnlyInner extends TagMergePolicy
Do not modify tags in the included module), add its bindings as is.
Do not modify tags in the included module), add its bindings as is.
new ModuleDef {
tag(A.X)
include(new ModuleDef {
make[X].tagged(B.C)
}, TagMergePolicy.UseOnlyInner)
}
// result:
make[X].tagged(B.C)
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
- Self type
-
UseOnlyInner.type
case object UseOnlyOuter extends TagMergePolicy
new ModuleDef {
tag(A.X)
include(new ModuleDef {
make[X].tagged(B.C)
}, TagMergePolicy.UseOnlyOuter)
}
// result:
make[X].tagged(A.X)
Attributes
- Supertypes
-
trait Singletontrait Producttrait Mirrortrait Serializabletrait Producttrait Equalstrait TagMergePolicyclass Objecttrait Matchableclass AnyShow all
- Self type
-
UseOnlyOuter.type
Inherited and Abstract types
The names of the product elements.
The names of the product elements.
Attributes
- Inherited from:
- Mirror
The name of the type.
The name of the type.
Attributes
- Inherited from:
- Mirror
In this article