CompositeInitBase

molecule.boilerplate.api.CompositeInitBase

Build composite molecule.

Composite molecules model entities with attributes from different namespaces that are not necessarily related. Each group of attributes is modelled by a molecule and the "sub-molecules" are tied together with + methods to form a composite molecule.

The attributes of the first sub-molecule are tied together in a tuple of its own before being merged with the tuple of attribute values of the second sub-molecule. If any of the sub-molecules are of arity-1, then no tuple is created:

for {
 // Arity 1 + 1
 _ <- m(Article.name + Tag.category).get.map(_ ==> List(
   ("Battle of Waterloo", "History")
 ))

 // Arity 1 + 2
 _ <- m(Article.name + Tag.category.weight).get.map(_ ==> List(
   ("Battle of Waterloo", ("History", 5))
 ))

 // Arity 2 + 1
 _ <- m(Article.name.author + Tag.category).get.map(_ ==> List(
   (("Battle of Waterloo", "Ben Bridge"), "History")
 ))

 // Arity 2 + 2
 _ <- m(Article.name.author + Tag.category.weight).get.map(_ ==> List(
   (("Battle of Waterloo", "Ben Bridge"), ("History", 5))
 ))

 // Arity 3 + 2 etc...
 _ <- m(Article.name.author.editor + Tag.category.weight).get.map(_ ==> List(
   (("Battle of Waterloo", "Ben Bridge", "Joe Moe"), ("History", 5))
 ))
} yield ()

Attributes

Source
CompositeInit_.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait CompositeInit_0[Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_1[A, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_10[A, B, C, D, E, F, G, H, I, J, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_11[A, B, C, D, E, F, G, H, I, J, K, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_12[A, B, C, D, E, F, G, H, I, J, K, L, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_13[A, B, C, D, E, F, G, H, I, J, K, L, M, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_14[A, B, C, D, E, F, G, H, I, J, K, L, M, N, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_15[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_16[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_17[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_18[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_19[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_2[A, B, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_20[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_21[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_22[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_3[A, B, C, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_4[A, B, C, D, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_5[A, B, C, D, E, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_6[A, B, C, D, E, F, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_7[A, B, C, D, E, F, G, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_8[A, B, C, D, E, F, G, H, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
trait CompositeInit_9[A, B, C, D, E, F, G, H, I, Tx0, Tx1, Tx2, Tx3, Tx4, Tx5, Tx6, Tx7, Tx8, Tx9, Tx10, Tx11, Tx12, Tx13, Tx14, Tx15, Tx16, Tx17, Tx18, Tx19, Tx20, Tx21, Tx22]
Show all
In this article