Packages

  • package root

    Documentation/API for the Molecule library - a meta DSL for the Datomic database.

    Manual | scalamolecule.org | Github | Forum

    Definition Classes
    root
  • package molecule

    Molecule library - a Scala meta-DSL for the Datomic database.

    Molecule library - a Scala meta-DSL for the Datomic database.

    See api package for various api imports to start using Molecule.

    Sub-packages

    api Molecule API.
    ast Internal Molecule ASTs.
    boilerplate Internal interfaces for auto-generated DSL boilerplate code.
    composition    Builder methods to compose molecules.
    exceptions Exceptions thrown by Molecule.
    expression Attribute expressions and operations.
    facade Molecule facades to Datomic.
    factory Implicit macro methods `m` to instantiate molecules from custom DSL molecule constructs.
    input Input molecules awaiting input.
    macros Internal macros generating molecule code from custom DSL molecule constructs.
    generic Interfaces to generic information about datoms and Datomic database.
    ops Internal operational helpers for transforming DSL to molecule.
    schema Schema definition DSL.
    transform Internal transformers from DSL to Model/Query/Transaction.
    util Internal Java database functions for Datomic.

    Definition Classes
    root
  • package api

    Public interface to be imported to use Molecule.

    Public interface to be imported to use Molecule.

    To make the Molecule macro materializations as fast as possible we try to import as few macro implicits as possible. If your application code build molecules with at the most 10 attributes, then you can do the following import to start using Molecule:

    import molecule.api.out10._

    out means "output molecule" , and 10 the maximum arity or number of attributes of your molecules.

    If you use input molecules awaiting an input then you can add inX where X is how many inputs (1, 2 or 3) you will use, for instance:

    import molecule.api.in2_out10._

    This way we keep the implicit macro def lookups to a minimum and compilation speed as fast as possible.

    Arities can be changed anytime you like. But not to a lower arity than that of the molecules you use in scope of the import.

    Definition Classes
    molecule
  • package exception
  • package get

    Synchronous getter methods to retrieve data from Datomic.

    Synchronous getter methods to retrieve data from Datomic.

    The Datomic On-Prem(ises) server model provides a Peer that returns data synchronously. The Peer which lives in application memory caches data aggressively and for data fitting in memory latency can be extremely low and queries return very fast. And even when access to disk is needed, clever branching is used. Memcached is also an option.

    The Datomic Cloud model data returns data asynchronously. If Datomic creates a Java API for the Cloud model, Molecule could relatively easy adapt to this model too. In the meanwhile, Future-wrapped methods in this package can be used.

    Molecule has 5 groups of synchronous getters, each returning data in various formats:

    • GetArray - fastest retrieved typed data set. Can be traversed with a fast while loop
    • GetIterable - for lazily traversing row by row
    • GetJson - data formatted as Json string
    • GetList - default getter returning Lists of tuples. Convenient typed data, suitable for smaller data sets
    • GetRaw - fastest retrieved raw un-typed data from Datomic

    Getters in each of the 5 groups come with 5 time-dependent variations:

    • get [current data]
    • getAsOf
    • getSince
    • getWith
    • getHistory

    Each time variation has various overloads taking different parameters (see each group for more info).

    See also

    equivalent asynchronous getters in the getAsync package.

  • package getAsync

    Asynchronous getter methods to retrieve data from Datomic.

    Asynchronous getter methods to retrieve data from Datomic.

    For convenience, all synchronous getter methods from the get package are here wrapped in Futures.

    The Datomic On-Prem(ises) server model provides a Peer that returns data synchronously. The Peer which lives in application memory caches data aggressively and for data fitting in memory latency can be extremely low and queries return very fast. And even when access to disk is needed, clever branching is used. Memcached is also an option.

    The Datomic Cloud model data returns data asynchronously. If Datomic creates a Java API for the Cloud model, Molecule could relatively easy adapt to this model too. In the meanwhile, Future-wrapped methods in this package can be used.

    Molecule has 5 groups of asynchronous getters, each returning Futures of data in various formats:

    • GetAsyncArray - fastest retrieved typed data set. Can be traversed with a fast while loop
    • GetAsyncIterable - for lazily traversing row by row
    • GetAsyncJson - data formatted as Json string
    • GetAsyncList - default getter returning Lists of tuples. Convenient typed data, suitable for smaller data sets
    • GetAsyncRaw - fastest retrieved raw un-typed data from Datomic

    Getters in each of the 5 groups come with 5 time-dependent variations:

    • getAsync [current data]
    • getAsyncAsOf
    • getAsyncSince
    • getAsyncWith
    • getAsyncHistory

    Each time variation has various overloads taking different parameters (see each group for more info).

    See also

    equivalent synchronous getters in the get package.

  • Entity
  • EntityOps
  • Molecule
  • OptionalMapOps
  • ShowDebug
  • TxMethods
  • core
  • in1_out1
  • in1_out10
  • in1_out11
  • in1_out12
  • in1_out13
  • in1_out14
  • in1_out15
  • in1_out16
  • in1_out17
  • in1_out18
  • in1_out19
  • in1_out2
  • in1_out20
  • in1_out21
  • in1_out22
  • in1_out3
  • in1_out4
  • in1_out5
  • in1_out6
  • in1_out7
  • in1_out8
  • in1_out9
  • in2_out1
  • in2_out10
  • in2_out11
  • in2_out12
  • in2_out13
  • in2_out14
  • in2_out15
  • in2_out16
  • in2_out17
  • in2_out18
  • in2_out19
  • in2_out2
  • in2_out20
  • in2_out21
  • in2_out22
  • in2_out3
  • in2_out4
  • in2_out5
  • in2_out6
  • in2_out7
  • in2_out8
  • in2_out9
  • in3_out1
  • in3_out10
  • in3_out11
  • in3_out12
  • in3_out13
  • in3_out14
  • in3_out15
  • in3_out16
  • in3_out17
  • in3_out18
  • in3_out19
  • in3_out2
  • in3_out20
  • in3_out21
  • in3_out22
  • in3_out3
  • in3_out4
  • in3_out5
  • in3_out6
  • in3_out7
  • in3_out8
  • in3_out9
  • out1
  • out10
  • out11
  • out12
  • out13
  • out14
  • out15
  • out16
  • out17
  • out18
  • out19
  • out2
  • out20
  • out21
  • out22
  • out3
  • out4
  • out5
  • out6
  • out7
  • out8
  • out9
  • package ast

    Internal Molecule ASTs.

    Internal Molecule ASTs.

    Definition Classes
    molecule
  • package boilerplate

    Internal interfaces for auto-generated DSL boilerplate code.

    Internal interfaces for auto-generated DSL boilerplate code.

    Interfaces to the generated schema-defined DSL boilerplate code that the sbt-plugin generates when doing a sbt-compile. Molecule macros can then type-safely deduct the type structure of composed molecules.

    Definition Classes
    molecule
  • package composition

    Methods to build transaction, composite and nested molecules.

    Methods to build transaction, composite and nested molecules.

    Definition Classes
    molecule
  • package exceptions

    Exceptions thrown by Molecule.

    Exceptions thrown by Molecule.

    Definition Classes
    molecule
  • package expression

    Attribute expressions and operations.

    Attribute expressions and operations.

    Refine attribute matches with various attribute expressions:

    Person.age(42)                           // equality
    Person.name.contains("John")             // fulltext search
    Person.age.!=(42)                        // negation (or `not`)
    Person.age.<(42)                         // comparison (< > <= >=)
    Person.name("John" or "Jonas")           // OR-logic
    Person.age()                             // apply empty value to retract value(s) in updates
    Person.hobbies.assert("golf")               // add value(s) to card-many attributes
    Person.hobbies.retract("golf")            // retract value(s) of card-many attributes
    Person.hobbies.replace("golf", "diving") // replace value(s) of card-many attributes
    Person.tags.k("en")                      // match values of map attributes by key
    Person.age(Nil)                          // match non-asserted datoms (null)
    Person.name(?)                           // initiate input molecules awaiting input at runtime
    Person.name(unify)                       // Unify attributes in self-joins

    Apply aggregate keywords to aggregate attribute value(s):

    // Aggregates on any attribute type
    Person.age(count).get.head         === 3   // count of asserted `age` attribute values
    Person.age(countDistinct).get.head === 3   // count of asserted distinct `age` attribute values
    Person.age(max).get.head           === 38  // maximum `age` value (using `compare`)
    Person.age(min).get.head           === 5   // maximum `age` value (using `compare`)
    Person.age(rand).get.head          === 25  // single random `age` value
    Person.age(sample).get.head        === 27  // single sample `age` value (when single value, same as random)
    
    // Aggregates on any attribute type, returning multiple values
    Person.age(distinct).get.head  === Vector(5, 7, 38)  // distinct `age` values
    Person.age(max(2)).get.head    === Vector(38, 7)     // 2 maximum `age` values
    Person.age(min(2)).get.head    === Vector(5, 7)      // 2 minimum `age` values
    Person.age(rand(2)).get.head   === Stream(5, ?)      // 2 random `age` values (values can re-occur)
    Person.age(sample(2)).get.head === Vector(7, 38)     // 2 sample `age` values
    
    // Aggregates on number attributes
    Person.age(sum).get.head      === 50               // sum of all `age` numbers
    Person.age(avg).get.head      === 16.66666667      // average of all `age` numbers
    Person.age(median).get.head   === 7                // median of all `age` numbers
    Person.age(stddev).get.head   === 15.107025591499  // standard deviation of all `age` numbers
    Person.age(variance).get.head === 228.2222222222   // variance of all `age` numbers
    Definition Classes
    molecule
    See also

    Manual: expressions | aggregates | input molecules

    Tests: expressions

  • package facade

    Molecule facades to Datomic.

    Molecule facades to Datomic.

    Facades are not trying to cover all Datomic methods but rather only interfaces relevant to Molecule.

    Definition Classes
    molecule
  • package factory

    Factory methods m to instantiate molecules from custom DSL molecule constructs.

    Factory methods m to instantiate molecules from custom DSL molecule constructs.

    Definition Classes
    molecule
  • package generic

    Interfaces to get generic information about data and schema.

    Interfaces to get generic information about data and schema.

    • Datom - Datom attributes in molecules
    • Log - Datoms sorted by transaction/time
    • EAVT - Datoms sorted by Entity-Attribute-Value-Transaction
    • AVET - Datoms sorted by Attribute-Value-Entity-Transaction
    • AEVT - Datoms sorted by Attribute-Entity-Value-Transaction
    • VAET - "Reverse index" for reverse lookup of ref types
    • Schema - Meta information about the current database schema.
    Definition Classes
    molecule
  • package input

    Input molecules awaiting input.

    Input molecules awaiting input.

    Input molecules are molecules that awaits one or more inputs at runtime. When input value is applied, the input molecule is resolved and a standard molecule is returned that we can then call actions on.

    Input molecule queries are cached by Datomic. So there is a runtime performance gain in using input molecules. Furthermore, input molecules are a good fit for re-use for queries where only a few parameters change.

    Input molecules can await 1, 2 or 3 inputs and are constructed by applying the ? marker to attributes. If one marker is applied, we get a InputMolecule_1, 2 inputs creates an InputMolecule_2 and 3 an InputMolecule_3.

    The three input molecule interfaces come in arity-versions corresponding to the number of non-?-marked attributes in the input molecule. Let's see a simple example:

    // Sample data
    Person.name.age insert List(("Ben", 42), ("Liz", 34))
    
    // Input molecule created at compile time. Awaits a name of type String
    val ageOfPersons: InputMolecule_1.InputMolecule_1_01[String, Int] = m(Person.name_(?).age)
    
    // Resolved molecule. "Ben" input is matched against name attribute
    val ageOfPersonsNamedBen: Molecule.Molecule01[Int] = ageOfPersons.apply("Ben")
    
    // Calling action on resolved molecule.
    // (Only age is returned since name was marked as tacit with the underscore notation)
    ageOfPersonsNamedBen.get === List(42)
    
    // Or we can re-use the input molecule straight away
    ageOfPersons("Liz").get === List(34)
    Definition Classes
    molecule
  • package macros

    Internal macros generating molecule code from custom DSL molecule constructs.

    Internal macros generating molecule code from custom DSL molecule constructs.

    Definition Classes
    molecule
  • package ops

    Internal operational helpers for transforming DSL to molecules.

    Internal operational helpers for transforming DSL to molecules.

    Definition Classes
    molecule
  • package schema

    Schema definition DSL and API.

    Schema definition DSL and API.

    Definition Classes
    molecule
  • package transform

    Internal transformers from DSL to Model/Query/Transaction/Datomic.

    Internal transformers from DSL to Model/Query/Transaction/Datomic.

    Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:

    Custom DSL molecule --> Model --> Query --> Datomic query string

    Definition Classes
    molecule
    See also

    http://www.scalamolecule.org/dev/transformation/

  • package util

    Internal database functions for Datomic.

    Internal database functions for Datomic.

    Definition Classes
    molecule

package api

Public interface to be imported to use Molecule.

To make the Molecule macro materializations as fast as possible we try to import as few macro implicits as possible. If your application code build molecules with at the most 10 attributes, then you can do the following import to start using Molecule:

import molecule.api.out10._

out means "output molecule" , and 10 the maximum arity or number of attributes of your molecules.

If you use input molecules awaiting an input then you can add inX where X is how many inputs (1, 2 or 3) you will use, for instance:

import molecule.api.in2_out10._

This way we keep the implicit macro def lookups to a minimum and compilation speed as fast as possible.

Arities can be changed anytime you like. But not to a lower arity than that of the molecules you use in scope of the import.

Source
package.scala
Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. api
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class Entity extends AnyRef

    Entity wrapper with actions on entity.

    Entity wrapper with actions on entity.

    See also

    Manual | Tests: entity api

  2. trait EntityOps extends AnyRef

    Operations on multiple entities.

  3. trait Molecule[Tpl] extends MoleculeBase with CastHelpers[Tpl] with JsonBuilder with GetArray[Tpl] with GetIterable[Tpl] with GetList[Tpl] with GetRaw with GetJson with GetAsyncArray[Tpl] with GetAsyncIterable[Tpl] with GetAsyncList[Tpl] with GetAsyncRaw with GetAsyncJson with ShowDebug[Tpl]

    Core molecule interface defining actions that can be called on molecules.

    Core molecule interface defining actions that can be called on molecules.

    Groups of interfaces:

    get getAsync Get molecule data.
    getAsOf getAsyncAsOf Get molecule data asOf point in time.
    getSince getAsyncSince Get molecule data since point in time.
    getWith getAsyncWith Get molecule data with given data set.
    getHistory getAsyncHistory     Get molecule data from history of database.
    save saveAsync Save molecule with applied data.
    insert insertAsync Insert multiple rows of data matching molecule.
    update updateAsync Update molecule with applied data.
    tx Molecule transaction data (input to `getWith`).
    debug get Debug calling get method on molecule.
    debug operation     Debug calling save/insert/update method on molecule.

    Tpl

    Type of molecule (tuple of its attribute types)

    See also

    For retract ("delete") methods, see EntityOps and Entity.

    Manual: get, time, asOf/since, history, with, getJson, debug/test, save, insert, update, retract

    Tests: get, asOf, since, history, with, test asOf, test since, test with, getJson, save, insert, retract,

    update, update map, update ref, update multiple attributes, update multiple entities

  4. trait OptionalMapOps extends AnyRef

    Container of implicit for optional Map operations.

    Container of implicit for optional Map operations.

    See also

    Tests

  5. trait ShowDebug[Tpl] extends AnyRef

    Debug methods

    Debug methods

    Call a debug method on a molecule to see the internal transformations and produced transaction statements or sample data.

  6. trait TxMethods extends AnyRef

    Transactional methods for bundled transactions and tx functions

Value Members

  1. object Entity

    Entity wrapper factory.

  2. object Molecule

    Arity 1-22 molecule implementation interfaces.

  3. object OptionalMapOps extends OptionalMapOps

    Optional implicit operations for optional Map attributes

    Optional implicit operations for optional Map attributes

    Is not imported in the default Molecule api imports since they are rather specialized. If needed, they can be made available with the following aditional import:

    import molecule.api.optionalMapOps._
    import molecule.api.out8._ // Standard api import with any arity

    Since this is a rather specialized

  4. object TxMethods extends Helpers
  5. object core extends core
  6. object in1_out1 extends core with Molecule_Factory1 with Molecule_In_1_Factory1
  7. object in1_out10 extends core with Molecule_Factory10 with Molecule_In_1_Factory10 with Composite_Factory5 with Composite_In_1_Factory5
  8. object in1_out11 extends core with Molecule_Factory11 with Molecule_In_1_Factory11 with Composite_Factory5 with Composite_In_1_Factory5
  9. object in1_out12 extends core with Molecule_Factory12 with Molecule_In_1_Factory12 with Composite_Factory5 with Composite_In_1_Factory5
  10. object in1_out13 extends core with Molecule_Factory13 with Molecule_In_1_Factory13 with Composite_Factory5 with Composite_In_1_Factory5
  11. object in1_out14 extends core with Molecule_Factory14 with Molecule_In_1_Factory14 with Composite_Factory5 with Composite_In_1_Factory5
  12. object in1_out15 extends core with Molecule_Factory15 with Molecule_In_1_Factory15 with Composite_Factory5 with Composite_In_1_Factory5
  13. object in1_out16 extends core with Molecule_Factory16 with Molecule_In_1_Factory16 with Composite_Factory5 with Composite_In_1_Factory5
  14. object in1_out17 extends core with Molecule_Factory17 with Molecule_In_1_Factory17 with Composite_Factory5 with Composite_In_1_Factory5
  15. object in1_out18 extends core with Molecule_Factory18 with Molecule_In_1_Factory18 with Composite_Factory5 with Composite_In_1_Factory5
  16. object in1_out19 extends core with Molecule_Factory19 with Molecule_In_1_Factory19 with Composite_Factory5 with Composite_In_1_Factory5
  17. object in1_out2 extends core with Molecule_Factory2 with Molecule_In_1_Factory2 with Composite_Factory2 with Composite_In_1_Factory2
  18. object in1_out20 extends core with Molecule_Factory20 with Molecule_In_1_Factory20 with Composite_Factory5 with Composite_In_1_Factory5
  19. object in1_out21 extends core with Molecule_Factory21 with Molecule_In_1_Factory21 with Composite_Factory5 with Composite_In_1_Factory5
  20. object in1_out22 extends core with Molecule_Factory22 with Molecule_In_1_Factory22 with Composite_Factory5 with Composite_In_1_Factory5
  21. object in1_out3 extends core with Molecule_Factory3 with Molecule_In_1_Factory3 with Composite_Factory3 with Composite_In_1_Factory3
  22. object in1_out4 extends core with Molecule_Factory4 with Molecule_In_1_Factory4 with Composite_Factory4 with Composite_In_1_Factory4
  23. object in1_out5 extends core with Molecule_Factory5 with Molecule_In_1_Factory5 with Composite_Factory5 with Composite_In_1_Factory5
  24. object in1_out6 extends core with Molecule_Factory6 with Molecule_In_1_Factory6 with Composite_Factory5 with Composite_In_1_Factory5
  25. object in1_out7 extends core with Molecule_Factory7 with Molecule_In_1_Factory7 with Composite_Factory5 with Composite_In_1_Factory5
  26. object in1_out8 extends core with Molecule_Factory8 with Molecule_In_1_Factory8 with Composite_Factory5 with Composite_In_1_Factory5
  27. object in1_out9 extends core with Molecule_Factory9 with Molecule_In_1_Factory9 with Composite_Factory5 with Composite_In_1_Factory5
  28. object in2_out1 extends core with Molecule_Factory1 with Molecule_In_1_Factory1 with Molecule_In_2_Factory1
  29. object in2_out10 extends core with Molecule_Factory10 with Molecule_In_1_Factory10 with Molecule_In_2_Factory10 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  30. object in2_out11 extends core with Molecule_Factory11 with Molecule_In_1_Factory11 with Molecule_In_2_Factory11 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  31. object in2_out12 extends core with Molecule_Factory12 with Molecule_In_1_Factory12 with Molecule_In_2_Factory12 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  32. object in2_out13 extends core with Molecule_Factory13 with Molecule_In_1_Factory13 with Molecule_In_2_Factory13 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  33. object in2_out14 extends core with Molecule_Factory14 with Molecule_In_1_Factory14 with Molecule_In_2_Factory14 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  34. object in2_out15 extends core with Molecule_Factory15 with Molecule_In_1_Factory15 with Molecule_In_2_Factory15 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  35. object in2_out16 extends core with Molecule_Factory16 with Molecule_In_1_Factory16 with Molecule_In_2_Factory16 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  36. object in2_out17 extends core with Molecule_Factory17 with Molecule_In_1_Factory17 with Molecule_In_2_Factory17 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  37. object in2_out18 extends core with Molecule_Factory18 with Molecule_In_1_Factory18 with Molecule_In_2_Factory18 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  38. object in2_out19 extends core with Molecule_Factory19 with Molecule_In_1_Factory19 with Molecule_In_2_Factory19 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  39. object in2_out2 extends core with Molecule_Factory2 with Molecule_In_1_Factory2 with Molecule_In_2_Factory2 with Composite_Factory2 with Composite_In_1_Factory2 with Composite_In_2_Factory2
  40. object in2_out20 extends core with Molecule_Factory20 with Molecule_In_1_Factory20 with Molecule_In_2_Factory20 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  41. object in2_out21 extends core with Molecule_Factory21 with Molecule_In_1_Factory21 with Molecule_In_2_Factory21 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  42. object in2_out22 extends core with Molecule_Factory22 with Molecule_In_1_Factory22 with Molecule_In_2_Factory22 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  43. object in2_out3 extends core with Molecule_Factory3 with Molecule_In_1_Factory3 with Molecule_In_2_Factory3 with Composite_Factory3 with Composite_In_1_Factory3 with Composite_In_2_Factory3
  44. object in2_out4 extends core with Molecule_Factory4 with Molecule_In_1_Factory4 with Molecule_In_2_Factory4 with Composite_Factory4 with Composite_In_1_Factory4 with Composite_In_2_Factory4
  45. object in2_out5 extends core with Molecule_Factory5 with Molecule_In_1_Factory5 with Molecule_In_2_Factory5 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  46. object in2_out6 extends core with Molecule_Factory6 with Molecule_In_1_Factory6 with Molecule_In_2_Factory6 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  47. object in2_out7 extends core with Molecule_Factory7 with Molecule_In_1_Factory7 with Molecule_In_2_Factory7 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  48. object in2_out8 extends core with Molecule_Factory8 with Molecule_In_1_Factory8 with Molecule_In_2_Factory8 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  49. object in2_out9 extends core with Molecule_Factory9 with Molecule_In_1_Factory9 with Molecule_In_2_Factory9 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5
  50. object in3_out1 extends core with Molecule_Factory1 with Molecule_In_1_Factory1 with Molecule_In_2_Factory1 with Molecule_In_3_Factory1
  51. object in3_out10 extends core with Molecule_Factory10 with Molecule_In_1_Factory10 with Molecule_In_2_Factory10 with Molecule_In_3_Factory10 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  52. object in3_out11 extends core with Molecule_Factory11 with Molecule_In_1_Factory11 with Molecule_In_2_Factory11 with Molecule_In_3_Factory11 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  53. object in3_out12 extends core with Molecule_Factory12 with Molecule_In_1_Factory12 with Molecule_In_2_Factory12 with Molecule_In_3_Factory12 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  54. object in3_out13 extends core with Molecule_Factory13 with Molecule_In_1_Factory13 with Molecule_In_2_Factory13 with Molecule_In_3_Factory13 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  55. object in3_out14 extends core with Molecule_Factory14 with Molecule_In_1_Factory14 with Molecule_In_2_Factory14 with Molecule_In_3_Factory14 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  56. object in3_out15 extends core with Molecule_Factory15 with Molecule_In_1_Factory15 with Molecule_In_2_Factory15 with Molecule_In_3_Factory15 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  57. object in3_out16 extends core with Molecule_Factory16 with Molecule_In_1_Factory16 with Molecule_In_2_Factory16 with Molecule_In_3_Factory16 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  58. object in3_out17 extends core with Molecule_Factory17 with Molecule_In_1_Factory17 with Molecule_In_2_Factory17 with Molecule_In_3_Factory17 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  59. object in3_out18 extends core with Molecule_Factory18 with Molecule_In_1_Factory18 with Molecule_In_2_Factory18 with Molecule_In_3_Factory18 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  60. object in3_out19 extends core with Molecule_Factory19 with Molecule_In_1_Factory19 with Molecule_In_2_Factory19 with Molecule_In_3_Factory19 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  61. object in3_out2 extends core with Molecule_Factory2 with Molecule_In_1_Factory2 with Molecule_In_2_Factory2 with Molecule_In_3_Factory2 with Composite_Factory2 with Composite_In_1_Factory2 with Composite_In_2_Factory2 with Composite_In_3_Factory2
  62. object in3_out20 extends core with Molecule_Factory20 with Molecule_In_1_Factory20 with Molecule_In_2_Factory20 with Molecule_In_3_Factory20 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  63. object in3_out21 extends core with Molecule_Factory21 with Molecule_In_1_Factory21 with Molecule_In_2_Factory21 with Molecule_In_3_Factory21 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  64. object in3_out22 extends core with Molecule_Factory22 with Molecule_In_1_Factory22 with Molecule_In_2_Factory22 with Molecule_In_3_Factory22 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  65. object in3_out3 extends core with Molecule_Factory3 with Molecule_In_1_Factory3 with Molecule_In_2_Factory3 with Molecule_In_3_Factory3 with Composite_Factory3 with Composite_In_1_Factory3 with Composite_In_2_Factory3 with Composite_In_3_Factory3
  66. object in3_out4 extends core with Molecule_Factory4 with Molecule_In_1_Factory4 with Molecule_In_2_Factory4 with Molecule_In_3_Factory4 with Composite_Factory4 with Composite_In_1_Factory4 with Composite_In_2_Factory4 with Composite_In_3_Factory4
  67. object in3_out5 extends core with Molecule_Factory5 with Molecule_In_1_Factory5 with Molecule_In_2_Factory5 with Molecule_In_3_Factory5 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  68. object in3_out6 extends core with Molecule_Factory6 with Molecule_In_1_Factory6 with Molecule_In_2_Factory6 with Molecule_In_3_Factory6 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  69. object in3_out7 extends core with Molecule_Factory7 with Molecule_In_1_Factory7 with Molecule_In_2_Factory7 with Molecule_In_3_Factory7 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  70. object in3_out8 extends core with Molecule_Factory8 with Molecule_In_1_Factory8 with Molecule_In_2_Factory8 with Molecule_In_3_Factory8 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  71. object in3_out9 extends core with Molecule_Factory9 with Molecule_In_1_Factory9 with Molecule_In_2_Factory9 with Molecule_In_3_Factory9 with Composite_Factory5 with Composite_In_1_Factory5 with Composite_In_2_Factory5 with Composite_In_3_Factory5
  72. object out1 extends core with Molecule_Factory1
  73. object out10 extends core with Molecule_Factory10 with Composite_Factory5
  74. object out11 extends core with Molecule_Factory11 with Composite_Factory5
  75. object out12 extends core with Molecule_Factory12 with Composite_Factory5
  76. object out13 extends core with Molecule_Factory13 with Composite_Factory5
  77. object out14 extends core with Molecule_Factory14 with Composite_Factory5
  78. object out15 extends core with Molecule_Factory15 with Composite_Factory5
  79. object out16 extends core with Molecule_Factory16 with Composite_Factory5
  80. object out17 extends core with Molecule_Factory17 with Composite_Factory5
  81. object out18 extends core with Molecule_Factory18 with Composite_Factory5
  82. object out19 extends core with Molecule_Factory19 with Composite_Factory5
  83. object out2 extends core with Molecule_Factory2 with Composite_Factory2
  84. object out20 extends core with Molecule_Factory20 with Composite_Factory5
  85. object out21 extends core with Molecule_Factory21 with Composite_Factory5
  86. object out22 extends core with Molecule_Factory22 with Composite_Factory5
  87. object out3 extends core with Molecule_Factory3 with Composite_Factory3
  88. object out4 extends core with Molecule_Factory4 with Composite_Factory4
  89. object out5 extends core with Molecule_Factory5 with Composite_Factory5
  90. object out6 extends core with Molecule_Factory6 with Composite_Factory5
  91. object out7 extends core with Molecule_Factory7 with Composite_Factory5
  92. object out8 extends core with Molecule_Factory8 with Composite_Factory5
  93. object out9 extends core with Molecule_Factory9 with Composite_Factory5

Inherited from AnyRef

Inherited from Any

Ungrouped