Packages

c

molecule.core.api.Molecule_0

Molecule_0_13

abstract class Molecule_0_13[Obj, A, B, C, D, E, F, G, H, I, J, K, L, M] extends Molecule_0[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Source
Molecule_0.scala
Linear Supertypes
Molecule_0[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], ShowInspect[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], JavaConversions, GetJson[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], JavaUtil, GetObjs[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], GetTpls[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], ColOps, JsonOptNested, JsonAggr, JsonTypes, JsonBase, CastOptNested, CastAggr, CastTypes, Marshalling[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)], Helpers, DateHandling, RegexMatching, Molecule, AnyRef, Any
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. Molecule_0_13
  2. Molecule_0
  3. ShowInspect
  4. JavaConversions
  5. GetJson
  6. JavaUtil
  7. GetObjs
  8. GetTpls
  9. ColOps
  10. JsonOptNested
  11. JsonAggr
  12. JsonTypes
  13. JsonBase
  14. CastOptNested
  15. CastAggr
  16. CastTypes
  17. Marshalling
  18. Helpers
  19. DateHandling
  20. RegexMatching
  21. Molecule
  22. AnyRef
  23. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Molecule_0_13(model: Model, queryData: (Query, String, Option[Throwable]))

Type Members

  1. trait getInsertStmts extends AnyRef

    Get transaction statements of a call to insert on a molecule (without affecting the db).

    Get transaction statements of a call to insert on a molecule (without affecting the db).

    returns

    Transaction statements

    Definition Classes
    Molecule_0
  2. trait insert extends AnyRef

    Insert one or more rows of data matching a molecule.

    Insert one or more rows of data matching a molecule.

    Returns Future with TxReport having info about the result of the insert transaction.

    Data matching the types of the molecule can be inserted either as individual args or an Iterable (List, Set etc) of tuples:

    val singleInsertFuture: Future[TxReport] = Person.name.age.insert("Ann", 28)
    
    // Insert multiple rows of data. Accepts Iterable[Tpl]
    val multipleInsertFuture: Future[TxReport] = Person.name.age insert List(
      ("Ben", 42),
      ("Liz", 37)
    )
    
    for {
      // Insert single row of data with individual args
      _ <- Person.name.age.insert("Ann", 28)
    
      // Insert multiple rows of data. Accepts Iterable[Tpl]
      _ <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      _ <- Person.name.age.get.map(_ ==> List(
        ("Ann", 28),
        ("Ben", 42),
        ("Liz", 37)
      ))
    } yield ()

    The insert operation is asynchronous and non-blocking. Internally calls Datomic's asynchronous API.

    Definition Classes
    Molecule_0
  3. trait inspectInsert extends AnyRef

    Inspect call to insert on a molecule (without affecting the db).

    Inspect call to insert on a molecule (without affecting the db).

    Prints internal molecule transformation representations to output:

    Model --> Generic statements --> Datomic statements

    Definition Classes
    Molecule_0
  4. class log extends AnyRef
    Definition Classes
    Helpers
  5. class AsJava[A] extends AnyRef

    Generic class containing the asJava converter method

    Generic class containing the asJava converter method

    Definition Classes
    JavaConversions
  6. class AsJavaCollection[A] extends AnyRef

    Generic class containing the asJavaCollection converter method

    Generic class containing the asJavaCollection converter method

    Definition Classes
    JavaConversions
  7. class AsJavaDictionary[K, V] extends AnyRef

    Generic class containing the asJavaDictionary converter method

    Generic class containing the asJavaDictionary converter method

    Definition Classes
    JavaConversions
  8. class AsJavaEnumeration[A] extends AnyRef

    Generic class containing the asJavaEnumeration converter method

    Generic class containing the asJavaEnumeration converter method

    Definition Classes
    JavaConversions
  9. class AsScala[A] extends AnyRef

    Generic class containing the asScala converter method

    Generic class containing the asScala converter method

    Definition Classes
    JavaConversions
  10. implicit class raw2list extends AnyRef
    Definition Classes
    JavaUtil
  11. implicit class Regex extends AnyRef
    Definition Classes
    RegexMatching

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def _datalog: String

    Datalog query.

    Datalog query.

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

    Custom DSL molecule --> Model --> Query --> Datalog query

    Definition Classes
    MarshallingMolecule
  5. def _getInsertStmts(conn: Future[Conn], dataRows: Iterable[Seq[Any]])(implicit ec: ExecutionContext): Future[Seq[Statement]]
    Attributes
    protected
    Definition Classes
    Molecule_0
  6. def _inputThrowable: Option[Throwable]
    Definition Classes
    MarshallingMolecule
  7. def _insert(conn: Future[Conn], dataRows: Iterable[Seq[Any]])(implicit ec: ExecutionContext): Future[TxReport]
    Attributes
    protected
    Definition Classes
    Molecule_0
  8. def _inspectInsert(conn: Future[Conn], dataRows: Iterable[Seq[Any]]): Future[Unit]
    Attributes
    protected
    Definition Classes
    ShowInspect
  9. def _model: Model

    Internal Model representation of a molecule.

    Internal Model representation of a molecule.

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

    Custom DSL molecule --> Model --> Query --> Datalog query

    Definition Classes
    MarshallingMolecule
  10. def _query: Query

    Internal Query representation of molecule.

    Internal Query representation of molecule.

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

    Custom DSL molecule --> Model --> Query --> Datalog query

    Definition Classes
    MarshallingMolecule
  11. def appendEscapedString(sb: StringBuffer, s: String): Unit
    Attributes
    protected
    Definition Classes
    JsonBase
  12. macro def apply(body: (Obj) ⇒ Unit): Future[List[DynamicMolecule with Obj]]
    Definition Classes
    Molecule_0
  13. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  14. implicit def asJavaCollectionConverter[A](i: Iterable[A]): AsJavaCollection[A]

    Adds an asJavaCollection method that implicitly converts a Scala Iterable to an immutable Java Collection.

    Adds an asJavaCollection method that implicitly converts a Scala Iterable to an immutable Java Collection.

    Definition Classes
    JavaConversions
  15. implicit def asJavaDictionaryConverter[K, V](m: Map[K, V]): AsJavaDictionary[K, V]

    Adds an asJavaDictionary method that implicitly converts a Scala mutable Map to a Java Dictionary.

    Adds an asJavaDictionary method that implicitly converts a Scala mutable Map to a Java Dictionary.

    Definition Classes
    JavaConversions
  16. implicit def asJavaEnumerationConverter[A](i: Iterator[A]): AsJavaEnumeration[A]

    Adds an asJavaEnumeration method that implicitly converts a Scala Iterator to a Java Enumeration.

    Adds an asJavaEnumeration method that implicitly converts a Scala Iterator to a Java Enumeration.

    Definition Classes
    JavaConversions
  17. def asJavaIterable[A](i: Iterable[A]): Iterable[A]
    Definition Classes
    JavaConversions
  18. implicit def asJavaIterableConverter[A](i: Iterable[A]): AsJava[Iterable[A]]

    Adds an asJava method that implicitly converts a Scala Iterable to a Java Iterable.

    Adds an asJava method that implicitly converts a Scala Iterable to a Java Iterable.

    Definition Classes
    JavaConversions
  19. def asJavaIterator[A](i: Iterator[A]): Iterator[A]
    Definition Classes
    JavaConversions
  20. implicit def asJavaIteratorConverter[A](i: Iterator[A]): AsJava[Iterator[A]]

    Adds an asJava method that implicitly converts a Scala Iterator to a Java Iterator.

    Adds an asJava method that implicitly converts a Scala Iterator to a Java Iterator.

    Definition Classes
    JavaConversions
  21. def asScalaBuffer[A](l: List[A]): Buffer[A]
    Definition Classes
    JavaConversions
  22. implicit def asScalaBufferConverter[A](l: List[A]): AsScala[Buffer[A]]

    Adds an asScala method that implicitly converts a Java List to a Scala mutable Buffer.

    Adds an asScala method that implicitly converts a Java List to a Scala mutable Buffer.

    Definition Classes
    JavaConversions
  23. def asScalaIterator[A](i: Iterator[A]): Iterator[A]
    Definition Classes
    JavaConversions
  24. implicit def asScalaIteratorConverter[A](i: Iterator[A]): AsScala[Iterator[A]]

    Adds an asScala method that implicitly converts a Java Iterator to a Scala Iterator.

    Adds an asScala method that implicitly converts a Java Iterator to a Scala Iterator.

    Definition Classes
    JavaConversions
  25. def asScalaSet[A](s: Set[A]): Set[A]
    Definition Classes
    JavaConversions
  26. implicit def asScalaSetConverter[A](s: Set[A]): AsScala[Set[A]]

    Adds an asScala method that implicitly converts a Java Set to a Scala mutable Set.

    Adds an asScala method that implicitly converts a Java Set to a Scala mutable Set.

    Definition Classes
    JavaConversions
  27. def bigDec(arg: Any): BigDecimal
    Attributes
    protected
    Definition Classes
    Helpers
  28. def bufferAsJavaList[A](b: Buffer[A]): List[A]
    Definition Classes
    JavaConversions
  29. implicit def bufferAsJavaListConverter[A](b: Buffer[A]): AsJava[List[A]]

    Adds an asJava method that implicitly converts a Scala mutable Buffer to a Java List.

    Adds an asJava method that implicitly converts a Scala mutable Buffer to a Java List.

    Definition Classes
    JavaConversions
  30. def castAggrManyList[T](row: List[_], colIndex: Int): List[Set[T]]
    Attributes
    protected
    Definition Classes
    CastAggr
  31. def castAggrManyListBigDecimal(row: List[_], colIndex: Int): List[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastAggr
  32. def castAggrManyListBigInt(row: List[_], colIndex: Int): List[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastAggr
  33. def castAggrManyListDistinct[T](row: List[_], colIndex: Int): List[Set[T]]
    Attributes
    protected
    Definition Classes
    CastAggr
  34. def castAggrManyListDistinctBigDecimal(row: List[_], colIndex: Int): List[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastAggr
  35. def castAggrManyListDistinctBigInt(row: List[_], colIndex: Int): List[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastAggr
  36. def castAggrManyListDistinctInt(row: List[_], colIndex: Int): List[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastAggr
  37. def castAggrManyListDistinctURI(row: List[_], colIndex: Int): List[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastAggr
  38. def castAggrManyListInt(row: List[_], colIndex: Int): List[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastAggr
  39. def castAggrManyListRand[T](row: List[_], colIndex: Int): List[Set[T]]
    Attributes
    protected
    Definition Classes
    CastAggr
  40. def castAggrManyListRandBigDecimal(row: List[_], colIndex: Int): List[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastAggr
  41. def castAggrManyListRandBigInt(row: List[_], colIndex: Int): List[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastAggr
  42. def castAggrManyListRandInt(row: List[_], colIndex: Int): List[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastAggr
  43. def castAggrManyListRandURI(row: List[_], colIndex: Int): List[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastAggr
  44. def castAggrManyListURI(row: List[_], colIndex: Int): List[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastAggr
  45. def castAggrManySingle[T](row: List[_], colIndex: Int): Set[T]
    Attributes
    protected
    Definition Classes
    CastAggr
  46. def castAggrManySingleBigDecimal(row: List[_], colIndex: Int): Set[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastAggr
  47. def castAggrManySingleBigInt(row: List[_], colIndex: Int): Set[BigInt]
    Attributes
    protected
    Definition Classes
    CastAggr
  48. def castAggrManySingleInt(row: List[_], colIndex: Int): Set[Int]
    Attributes
    protected
    Definition Classes
    CastAggr
  49. def castAggrManySingleURI(row: List[_], colIndex: Int): Set[URI]
    Attributes
    protected
    Definition Classes
    CastAggr
  50. def castAggrOneList[T](row: List[_], colIndex: Int): List[T]
    Attributes
    protected
    Definition Classes
    CastAggr
  51. def castAggrOneListBigDecimal(row: List[_], colIndex: Int): List[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastAggr
  52. def castAggrOneListBigInt(row: List[_], colIndex: Int): List[BigInt]
    Attributes
    protected
    Definition Classes
    CastAggr
  53. def castAggrOneListDistinct[T](row: List[_], colIndex: Int): List[T]
    Attributes
    protected
    Definition Classes
    CastAggr
  54. def castAggrOneListDistinctBigDecimal(row: List[_], colIndex: Int): List[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastAggr
  55. def castAggrOneListDistinctBigInt(row: List[_], colIndex: Int): List[BigInt]
    Attributes
    protected
    Definition Classes
    CastAggr
  56. def castAggrOneListDistinctInt(row: List[_], colIndex: Int): List[Int]
    Attributes
    protected
    Definition Classes
    CastAggr
  57. def castAggrOneListDistinctURI(row: List[_], colIndex: Int): List[URI]
    Attributes
    protected
    Definition Classes
    CastAggr
  58. def castAggrOneListInt(row: List[_], colIndex: Int): List[Int]
    Attributes
    protected
    Definition Classes
    CastAggr
  59. def castAggrOneListRand[T](row: List[_], colIndex: Int): List[T]
    Attributes
    protected
    Definition Classes
    CastAggr
  60. def castAggrOneListRandBigDecimal(row: List[_], colIndex: Int): List[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastAggr
  61. def castAggrOneListRandBigInt(row: List[_], colIndex: Int): List[BigInt]
    Attributes
    protected
    Definition Classes
    CastAggr
  62. def castAggrOneListRandInt(row: List[_], colIndex: Int): List[Int]
    Attributes
    protected
    Definition Classes
    CastAggr
  63. def castAggrOneListRandURI(row: List[_], colIndex: Int): List[URI]
    Attributes
    protected
    Definition Classes
    CastAggr
  64. def castAggrOneListURI(row: List[_], colIndex: Int): List[URI]
    Attributes
    protected
    Definition Classes
    CastAggr
  65. def castAggrSingleSample[T](row: List[_], colIndex: Int): T
    Attributes
    protected
    Definition Classes
    CastAggr
  66. def castAggrSingleSampleBigDecimal(row: List[_], colIndex: Int): BigDecimal
    Attributes
    protected
    Definition Classes
    CastAggr
  67. def castAggrSingleSampleBigInt(row: List[_], colIndex: Int): BigInt
    Attributes
    protected
    Definition Classes
    CastAggr
  68. def castAggrSingleSampleInt(row: List[_], colIndex: Int): Int
    Attributes
    protected
    Definition Classes
    CastAggr
  69. def castAggrSingleSampleURI(row: List[_], colIndex: Int): URI
    Attributes
    protected
    Definition Classes
    CastAggr
  70. def castMany[T](row: List[_], colIndex: Int): Set[T]
    Attributes
    protected
    Definition Classes
    CastTypes
  71. def castManyBigDecimal(row: List[_], colIndex: Int): Set[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastTypes
  72. def castManyBigInt(row: List[_], colIndex: Int): Set[BigInt]
    Attributes
    protected
    Definition Classes
    CastTypes
  73. def castManyEnum(row: List[_], colIndex: Int): Set[String]
    Attributes
    protected
    Definition Classes
    CastTypes
  74. def castManyInt(row: List[_], colIndex: Int): Set[Int]
    Attributes
    protected
    Definition Classes
    CastTypes
  75. def castManyURI(row: List[_], colIndex: Int): Set[URI]
    Attributes
    protected
    Definition Classes
    CastTypes
  76. def castMapBigDecimal(row: List[_], colIndex: Int): Map[String, BigDecimal]
    Attributes
    protected
    Definition Classes
    CastTypes
  77. def castMapBigInt(row: List[_], colIndex: Int): Map[String, BigInt]
    Attributes
    protected
    Definition Classes
    CastTypes
  78. def castMapBoolean(row: List[_], colIndex: Int): Map[String, Boolean]
    Attributes
    protected
    Definition Classes
    CastTypes
  79. def castMapDate(row: List[_], colIndex: Int): Map[String, Date]
    Attributes
    protected
    Definition Classes
    CastTypes
  80. def castMapDouble(row: List[_], colIndex: Int): Map[String, Double]
    Attributes
    protected
    Definition Classes
    CastTypes
  81. def castMapInt(row: List[_], colIndex: Int): Map[String, Int]
    Attributes
    protected
    Definition Classes
    CastTypes
  82. def castMapLong(row: List[_], colIndex: Int): Map[String, Long]
    Attributes
    protected
    Definition Classes
    CastTypes
  83. def castMapString(row: List[_], colIndex: Int): Map[String, String]
    Attributes
    protected
    Definition Classes
    CastTypes
  84. def castMapURI(row: List[_], colIndex: Int): Map[String, URI]
    Attributes
    protected
    Definition Classes
    CastTypes
  85. def castMapUUID(row: List[_], colIndex: Int): Map[String, UUID]
    Attributes
    protected
    Definition Classes
    CastTypes
  86. def castOne[T](row: List[_], colIndex: Int): T
    Attributes
    protected
    Definition Classes
    CastTypes
  87. def castOneAny(row: List[_], colIndex: Int): Any
    Attributes
    protected
    Definition Classes
    CastTypes
  88. def castOneBigDecimal(row: List[_], colIndex: Int): BigDecimal
    Attributes
    protected
    Definition Classes
    CastTypes
  89. def castOneBigInt(row: List[_], colIndex: Int): BigInt
    Attributes
    protected
    Definition Classes
    CastTypes
  90. def castOneInt(row: List[_], colIndex: Int): Int
    Attributes
    protected
    Definition Classes
    CastTypes
  91. def castOneURI(row: List[_], colIndex: Int): URI
    Attributes
    protected
    Definition Classes
    CastTypes
  92. def castOptApplyMany[T](row: List[_], colIndex: Int): Option[Set[T]]
    Attributes
    protected
    Definition Classes
    CastTypes
  93. def castOptApplyManyBigDecimal(row: List[_], colIndex: Int): Option[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastTypes
  94. def castOptApplyManyBigInt(row: List[_], colIndex: Int): Option[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastTypes
  95. def castOptApplyManyDouble(row: List[_], colIndex: Int): Option[Set[Double]]
    Attributes
    protected
    Definition Classes
    CastTypes
  96. def castOptApplyManyInt(row: List[_], colIndex: Int): Option[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastTypes
  97. def castOptApplyManyLong(row: List[_], colIndex: Int): Option[Set[Long]]
    Attributes
    protected
    Definition Classes
    CastTypes
  98. def castOptApplyManyURI(row: List[_], colIndex: Int): Option[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastTypes
  99. def castOptApplyMapBigDecimal(row: List[_], colIndex: Int): Option[Map[String, BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastTypes
  100. def castOptApplyMapBigInt(row: List[_], colIndex: Int): Option[Map[String, BigInt]]
    Attributes
    protected
    Definition Classes
    CastTypes
  101. def castOptApplyMapBoolean(row: List[_], colIndex: Int): Option[Map[String, Boolean]]
    Attributes
    protected
    Definition Classes
    CastTypes
  102. def castOptApplyMapDate(row: List[_], colIndex: Int): Option[Map[String, Date]]
    Attributes
    protected
    Definition Classes
    CastTypes
  103. def castOptApplyMapDouble(row: List[_], colIndex: Int): Option[Map[String, Double]]
    Attributes
    protected
    Definition Classes
    CastTypes
  104. def castOptApplyMapInt(row: List[_], colIndex: Int): Option[Map[String, Int]]
    Attributes
    protected
    Definition Classes
    CastTypes
  105. def castOptApplyMapLong(row: List[_], colIndex: Int): Option[Map[String, Long]]
    Attributes
    protected
    Definition Classes
    CastTypes
  106. def castOptApplyMapString(row: List[_], colIndex: Int): Option[Map[String, String]]
    Attributes
    protected
    Definition Classes
    CastTypes
  107. def castOptApplyMapURI(row: List[_], colIndex: Int): Option[Map[String, URI]]
    Attributes
    protected
    Definition Classes
    CastTypes
  108. def castOptApplyMapUUID(row: List[_], colIndex: Int): Option[Map[String, UUID]]
    Attributes
    protected
    Definition Classes
    CastTypes
  109. def castOptApplyOne[T](row: List[_], colIndex: Int): Option[T]
    Attributes
    protected
    Definition Classes
    CastTypes
  110. def castOptApplyOneBigDecimal(row: List[_], colIndex: Int): Option[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastTypes
  111. def castOptApplyOneBigInt(row: List[_], colIndex: Int): Option[BigInt]
    Attributes
    protected
    Definition Classes
    CastTypes
  112. def castOptApplyOneDouble(row: List[_], colIndex: Int): Option[Double]
    Attributes
    protected
    Definition Classes
    CastTypes
  113. def castOptApplyOneInt(row: List[_], colIndex: Int): Option[Int]
    Attributes
    protected
    Definition Classes
    CastTypes
  114. def castOptApplyOneLong(row: List[_], colIndex: Int): Option[Long]
    Attributes
    protected
    Definition Classes
    CastTypes
  115. def castOptApplyOneURI(row: List[_], colIndex: Int): Option[URI]
    Attributes
    protected
    Definition Classes
    CastTypes
  116. def castOptMany[T](row: List[_], colIndex: Int): Option[Set[T]]
    Attributes
    protected
    Definition Classes
    CastTypes
  117. def castOptManyBigDecimal(row: List[_], colIndex: Int): Option[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastTypes
  118. def castOptManyBigInt(row: List[_], colIndex: Int): Option[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastTypes
  119. def castOptManyDouble(row: List[_], colIndex: Int): Option[Set[Double]]
    Attributes
    protected
    Definition Classes
    CastTypes
  120. def castOptManyEnum(row: List[_], colIndex: Int): Option[Set[String]]
    Attributes
    protected
    Definition Classes
    CastTypes
  121. def castOptManyInt(row: List[_], colIndex: Int): Option[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastTypes
  122. def castOptManyLong(row: List[_], colIndex: Int): Option[Set[Long]]
    Attributes
    protected
    Definition Classes
    CastTypes
  123. def castOptManyRefAttr(row: List[_], colIndex: Int): Option[Set[Long]]
    Attributes
    protected
    Definition Classes
    CastTypes
  124. def castOptManyURI(row: List[_], colIndex: Int): Option[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastTypes
  125. def castOptMapBigDecimal(row: List[_], colIndex: Int): Option[Map[String, BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastTypes
  126. def castOptMapBigInt(row: List[_], colIndex: Int): Option[Map[String, BigInt]]
    Attributes
    protected
    Definition Classes
    CastTypes
  127. def castOptMapBoolean(row: List[_], colIndex: Int): Option[Map[String, Boolean]]
    Attributes
    protected
    Definition Classes
    CastTypes
  128. def castOptMapDate(row: List[_], colIndex: Int): Option[Map[String, Date]]
    Attributes
    protected
    Definition Classes
    CastTypes
  129. def castOptMapDouble(row: List[_], colIndex: Int): Option[Map[String, Double]]
    Attributes
    protected
    Definition Classes
    CastTypes
  130. def castOptMapInt(row: List[_], colIndex: Int): Option[Map[String, Int]]
    Attributes
    protected
    Definition Classes
    CastTypes
  131. def castOptMapLong(row: List[_], colIndex: Int): Option[Map[String, Long]]
    Attributes
    protected
    Definition Classes
    CastTypes
  132. def castOptMapString(row: List[_], colIndex: Int): Option[Map[String, String]]
    Attributes
    protected
    Definition Classes
    CastTypes
  133. def castOptMapURI(row: List[_], colIndex: Int): Option[Map[String, URI]]
    Attributes
    protected
    Definition Classes
    CastTypes
  134. def castOptMapUUID(row: List[_], colIndex: Int): Option[Map[String, UUID]]
    Attributes
    protected
    Definition Classes
    CastTypes
  135. def castOptNestedMany[T](it: Iterator[_]): Set[T]
    Attributes
    protected
    Definition Classes
    CastOptNested
  136. def castOptNestedManyBigDecimal(it: Iterator[_]): Set[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastOptNested
  137. def castOptNestedManyBigInt(it: Iterator[_]): Set[BigInt]
    Attributes
    protected
    Definition Classes
    CastOptNested
  138. def castOptNestedManyEnum(it: Iterator[_]): Set[String]
    Attributes
    protected
    Definition Classes
    CastOptNested
  139. def castOptNestedManyInt(it: Iterator[_]): Set[Int]
    Attributes
    protected
    Definition Classes
    CastOptNested
  140. def castOptNestedManyRefAttr(it: Iterator[_]): Set[Long]
    Attributes
    protected
    Definition Classes
    CastOptNested
  141. def castOptNestedMapBigDecimal(it: Iterator[_]): Map[String, BigDecimal]
    Attributes
    protected
    Definition Classes
    CastOptNested
  142. def castOptNestedMapBigInt(it: Iterator[_]): Map[String, BigInt]
    Attributes
    protected
    Definition Classes
    CastOptNested
  143. def castOptNestedMapBoolean(it: Iterator[_]): Map[String, Boolean]
    Attributes
    protected
    Definition Classes
    CastOptNested
  144. def castOptNestedMapDate(it: Iterator[_]): Map[String, Date]
    Attributes
    protected
    Definition Classes
    CastOptNested
  145. def castOptNestedMapDouble(it: Iterator[_]): Map[String, Double]
    Attributes
    protected
    Definition Classes
    CastOptNested
  146. def castOptNestedMapInt(it: Iterator[_]): Map[String, Int]
    Attributes
    protected
    Definition Classes
    CastOptNested
  147. def castOptNestedMapLong(it: Iterator[_]): Map[String, Long]
    Attributes
    protected
    Definition Classes
    CastOptNested
  148. def castOptNestedMapString(it: Iterator[_]): Map[String, String]
    Attributes
    protected
    Definition Classes
    CastOptNested
  149. def castOptNestedMapURI(it: Iterator[_]): Map[String, URI]
    Attributes
    protected
    Definition Classes
    CastOptNested
  150. def castOptNestedMapUUID(it: Iterator[_]): Map[String, UUID]
    Attributes
    protected
    Definition Classes
    CastOptNested
  151. def castOptNestedOne[T](it: Iterator[_]): T
    Attributes
    protected
    Definition Classes
    CastOptNested
  152. def castOptNestedOneBigDecimal(it: Iterator[_]): BigDecimal
    Attributes
    protected
    Definition Classes
    CastOptNested
  153. def castOptNestedOneBigInt(it: Iterator[_]): BigInt
    Attributes
    protected
    Definition Classes
    CastOptNested
  154. def castOptNestedOneEnum(it: Iterator[_]): String
    Attributes
    protected
    Definition Classes
    CastOptNested
  155. def castOptNestedOneInt(it: Iterator[_]): Int
    Attributes
    protected
    Definition Classes
    CastOptNested
  156. def castOptNestedOneRefAttr(it: Iterator[_]): Long
    Attributes
    protected
    Definition Classes
    CastOptNested
  157. def castOptNestedOptMany[T](it: Iterator[_]): Option[Set[T]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  158. def castOptNestedOptManyBigDecimal(it: Iterator[_]): Option[Set[BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  159. def castOptNestedOptManyBigInt(it: Iterator[_]): Option[Set[BigInt]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  160. def castOptNestedOptManyDouble(it: Iterator[_]): Option[Set[Double]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  161. def castOptNestedOptManyEnum(it: Iterator[_]): Option[Set[String]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  162. def castOptNestedOptManyInt(it: Iterator[_]): Option[Set[Int]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  163. def castOptNestedOptManyLong(it: Iterator[_]): Option[Set[Long]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  164. def castOptNestedOptManyRefAttr(it: Iterator[_]): Option[Set[Long]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  165. def castOptNestedOptManyURI(it: Iterator[_]): Option[Set[URI]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  166. def castOptNestedOptMapBigDecimal(it: Iterator[_]): Option[Map[String, BigDecimal]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  167. def castOptNestedOptMapBigInt(it: Iterator[_]): Option[Map[String, BigInt]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  168. def castOptNestedOptMapBoolean(it: Iterator[_]): Option[Map[String, Boolean]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  169. def castOptNestedOptMapDate(it: Iterator[_]): Option[Map[String, Date]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  170. def castOptNestedOptMapDouble(it: Iterator[_]): Option[Map[String, Double]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  171. def castOptNestedOptMapInt(it: Iterator[_]): Option[Map[String, Int]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  172. def castOptNestedOptMapLong(it: Iterator[_]): Option[Map[String, Long]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  173. def castOptNestedOptMapString(it: Iterator[_]): Option[Map[String, String]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  174. def castOptNestedOptMapURI(it: Iterator[_]): Option[Map[String, URI]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  175. def castOptNestedOptMapUUID(it: Iterator[_]): Option[Map[String, UUID]]
    Attributes
    protected
    Definition Classes
    CastOptNested
  176. def castOptNestedOptOne[T](it: Iterator[_]): Option[T]
    Attributes
    protected
    Definition Classes
    CastOptNested
  177. def castOptNestedOptOneBigDecimal(it: Iterator[_]): Option[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastOptNested
  178. def castOptNestedOptOneBigInt(it: Iterator[_]): Option[BigInt]
    Attributes
    protected
    Definition Classes
    CastOptNested
  179. def castOptNestedOptOneDouble(it: Iterator[_]): Option[Double]
    Attributes
    protected
    Definition Classes
    CastOptNested
  180. def castOptNestedOptOneEnum(it: Iterator[_]): Option[String]
    Attributes
    protected
    Definition Classes
    CastOptNested
  181. def castOptNestedOptOneInt(it: Iterator[_]): Option[Int]
    Attributes
    protected
    Definition Classes
    CastOptNested
  182. def castOptNestedOptOneLong(it: Iterator[_]): Option[Long]
    Attributes
    protected
    Definition Classes
    CastOptNested
  183. def castOptNestedOptOneRefAttr(it: Iterator[_]): Option[Long]
    Attributes
    protected
    Definition Classes
    CastOptNested
  184. def castOptNestedOptOneURI(it: Iterator[_]): Option[URI]
    Attributes
    protected
    Definition Classes
    CastOptNested
  185. def castOptOne[T](row: List[_], colIndex: Int): Option[T]
    Attributes
    protected
    Definition Classes
    CastTypes
  186. def castOptOneBigDecimal(row: List[_], colIndex: Int): Option[BigDecimal]
    Attributes
    protected
    Definition Classes
    CastTypes
  187. def castOptOneBigInt(row: List[_], colIndex: Int): Option[BigInt]
    Attributes
    protected
    Definition Classes
    CastTypes
  188. def castOptOneDouble(row: List[_], colIndex: Int): Option[Double]
    Attributes
    protected
    Definition Classes
    CastTypes
  189. def castOptOneEnum(row: List[_], colIndex: Int): Option[String]
    Attributes
    protected
    Definition Classes
    CastTypes
  190. def castOptOneInt(row: List[_], colIndex: Int): Option[Int]
    Attributes
    protected
    Definition Classes
    CastTypes
  191. def castOptOneLong(row: List[_], colIndex: Int): Option[Long]
    Attributes
    protected
    Definition Classes
    CastTypes
  192. def castOptOneRefAttr(row: List[_], colIndex: Int): Option[Long]
    Attributes
    protected
    Definition Classes
    CastTypes
  193. def castOptOneURI(row: List[_], colIndex: Int): Option[URI]
    Attributes
    protected
    Definition Classes
    CastTypes
  194. def clean(attr: String): String
    Definition Classes
    Helpers
  195. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  196. def collectionAsScalaIterable[A](i: Collection[A]): Iterable[A]
    Definition Classes
    JavaConversions
  197. implicit def collectionAsScalaIterableConverter[A](i: Collection[A]): AsScala[Iterable[A]]

    Adds an asScala method that implicitly converts a Java Collection to an Scala Iterable.

    Adds an asScala method that implicitly converts a Java Collection to an Scala Iterable.

    Definition Classes
    JavaConversions
  198. def convert(tpe: String, arg: Any): (Any) ⇒ String
    Definition Classes
    ColOps
  199. def date2datomicStr(date: Date, zoneOffset: ZoneOffset = localZoneOffset): String
    Definition Classes
    DateHandling
  200. def date2datomicStr2(date: Date, zoneOffset: ZoneOffset = localZoneOffset): String
    Definition Classes
    DateHandling
  201. def date2str(date: Date, zoneOffset: ZoneOffset = localZoneOffset): String
    Definition Classes
    DateHandling
  202. def daylight(ms: Long): Int
    Definition Classes
    DateHandling
  203. def dictionaryAsScalaMap[A, B](p: Dictionary[A, B]): Map[A, B]
    Definition Classes
    JavaConversions
  204. implicit def dictionaryAsScalaMapConverter[K, V](p: Dictionary[K, V]): AsScala[Map[K, V]]

    Adds an asScala method that implicitly converts a Java Dictionary to a Scala mutable Map.

    Adds an asScala method that implicitly converts a Java Dictionary to a Scala mutable Map.

    Definition Classes
    JavaConversions
  205. def double(arg: Any): String
    Attributes
    protected
    Definition Classes
    Helpers
  206. def enumerationAsScalaIterator[A](i: Enumeration[A]): Iterator[A]
    Definition Classes
    JavaConversions
  207. implicit def enumerationAsScalaIteratorConverter[A](i: Enumeration[A]): AsScala[Iterator[A]]

    Adds an asScala method that implicitly converts a Java Enumeration to a Scala Iterator.

    Adds an asScala method that implicitly converts a Java Enumeration to a Scala Iterator.

    Definition Classes
    JavaConversions
  208. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  209. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  210. def escStr(s: String): String
    Definition Classes
    Helpers
  211. def expandDateStr(dateStr: String): String
    Definition Classes
    DateHandling
  212. def extractFlatValues(propCount: Int, refIndexes: List[Int], tacitIndexes: List[Int], deeper: Boolean = false): (Collection[Any]) ⇒ Iterator[Any]
    Definition Classes
    JsonBase
  213. final def f(a: Any): Any
    Attributes
    protected
    Definition Classes
    Helpers
  214. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  215. def firstNs(model: Model): String
    Definition Classes
    Helpers
  216. def get(maxRows: Int)(implicit futConn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching a molecule.

    Get Future with List of n rows as tuples matching a molecule.

    Person.name.age.get(1).map(_ ==> List(
      ("Ben", 42)
    )



    Since retrieving a List is considered the default fetch format, the getter method is simply named get (and not getList).

    maxRows

    Int Number of rows returned

    futConn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  217. def get(implicit futConn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching a molecule.

    Get Future with List of all rows as tuples matching a molecule.

    Person.name.age.get.map(_ ==> List(
      ("Ben", 42),
      ("Liz", 37),
    ))



    Since retrieving a List is considered the default fetch format, the getter method is simply named get (and not getList).

    futConn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  218. def getAsOf(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule as of date.

    Get Future with List of n rows as tuples matching molecule as of date.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Get List of all rows as of afterUpdate
      _ <- Person.name.age.getAsOf(afterUpdate).map(_ ==> List(
        ("Ben", 43),
        ("Liz", 37)
      ))
    
      // Get List of n rows as of afterUpdate
      _ <- Person.name.age.getAsOf(afterUpdate, 1).map(_ ==> List(
        ("Ben", 43)
      ))
    } yield ()
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  219. def getAsOf(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule as of date.

    Get Future with List of all rows as tuples matching molecule as of date.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Retract
      tx3 <- ben.retract
      afterRetract = new java.util.Date
    
      // No data yet before insert
      _ <- Person.name.age.getAsOf(beforeInsert).map(_ ==> Nil)
    
      // Get List of all rows as of afterInsert
      _ <- Person.name.age.getAsOf(afterInsert).map(_ ==> List(
        ("Ben", 42),
        ("Liz", 37)´
      ))
    
      // Get List of all rows as of afterUpdate
      _ <- Person.name.age.getAsOf(afterUpdate).map(_ ==> List(
        ("Ben", 43), // Ben now 43
        ("Liz", 37)
      ))
    
      // Get List of all rows as of afterRetract
      _ <- Person.name.age.getAsOf(afterRetract).map(_ ==> List(
        ("Liz", 37) // Ben gone
      ))
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  220. def getAsOf(txR: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule as of tx.

    Get Future with List of n rows as tuples matching molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Get List of all rows as of tx2 (after update)
      _ <- Person.name.age.getAsOf(tx2).map(_ ==> List(
        ("Ben", 43),
        ("Liz", 37)
      ))
    
      // Get List of n rows as of tx2 (after update)
      _ <- Person.name.age.getAsOf(tx2, 1).map(_ ==> List(
        ("Ben", 43)
      ))
    } yield ()
    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  221. def getAsOf(txR: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule as of tx.

    Get Future with List of all rows as tuples matching molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Retract (tx report 3)
      tx3 <- ben.retract
    
      // Get List of all rows as of tx1 (after insert)
      _ <- Person.name.age.getAsOf(tx1).map(_ ==> List(
        ("Ben", 42),
        ("Liz", 37)
      ))
    
      // Get List of all rows as of tx2 (after update)
      _ <- Person.name.age.getAsOf(tx2).map(_ ==> List(
        ("Ben", 43), // Ben now 43
        ("Liz", 37)
      ))
    
      // Get List of all rows as of tx3 (after retract)
      _ <- Person.name.age.getAsOf(tx3).map(_ ==> List(
        ("Liz", 37) // Ben gone
      ))
    } yield ()
    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  222. def getAsOf(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule as of transaction time t.

    Get Future with List of n rows as tuples matching molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.map(_.sortBy(r => (r._2, r._3)) ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
      ))
    
      // Get List of all all rows as of transaction t 1031 (after update)
      _ <- Person.name.age.getAsOf(1031).map(_ ==> List(
        ("Ben", 43),
        ("Liz", 37)
      ))
    
      // Get List of n rows as of transaction t 1031 (after update)
      _ <- Person.name.age.getAsOf(1031, 1).map(_ ==> List(
        ("Ben", 43)
      ))
    } yield ()
    t

    Long Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  223. def getAsOf(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule as of transaction time t.

    Get Future with List of all rows as tuples matching molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // Retract (t 1032)
      _ <- ben.retract
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.map(_.sortBy(r => (r._2, r._3)) ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
        (43, 1032, false)  // Retract: 43 retracted
      ))
    
      // Get List of all rows as of transaction t 1028 (after insert)
      _ <- Person.name.age.getAsOf(1028).map(_ ==> List(
        ("Liz", 37),
        ("Ben", 42)
      ))
    
      // Get List of all rows as of transaction t 1031 (after update)
      _ <- Person.name.age.getAsOf(1031).map(_ ==> List(
        ("Liz", 37),
        ("Ben", 43)
      ))
    
      // Get List of all rows as of transaction t 1032 (after retract)
      _ <- Person.name.age.getAsOf(1032).map(_ ==> List(
        ("Liz", 37)
      ))
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  224. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  225. macro def getDynObjs(body: (Obj) ⇒ Unit): Future[List[DynamicMolecule with Obj]]
    Definition Classes
    Molecule_0
  226. def getHistory(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with history of operations as List on an attribute in the db.

    Get Future with history of operations as List on an attribute in the db.

    Generic datom attributes that can be called when getHistory is called:

    e - Entity id
    a - Attribute name
    v - Attribute value
    ns - Namespace name
    tx - TxReport
    t - Transaction time t
    txInstant - Transaction time as java.util.Date
    op - Operation: true (add) or false (retract)

    Example:

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // Retract (t 1032)
      _ <- ben.retract
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.map(_.sortBy(r => (r._2, r._3)) ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
        (43, 1032, false)  // Retract: 43 retracted
      ))
    } yield ()
    conn

    Implicit Conn value in scope

    returns

    List[Tpl] where Tpl is tuple of data matching molecule

    Definition Classes
    GetTpls
  227. def getJson(n: Int)(implicit futConn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule

    Get json data for n rows matching a molecule

    Person.name.age.getJson(1).map(_ ==>
      """[
        |{"person.name": "Ben", "person.age": 42}
        |]""".stripMargin)

    Namespace.Attribute is used as json fields. Values are quoted when necessary. Nested data becomes json objects etc.

    n

    Number of rows returned

    futConn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  228. def getJson(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule.

    Get json data for all rows matching a molecule.

    Person.name.age.getJson.map(_ ==>
      """[
        |{"person.name": "Ben", "person.age": 42},
        |{"person.name": "Liz", "person.age": 37}
        |]""".stripMargin)

    Namespace.Attribute is used as json fields. Values are quoted when necessary. Nested data becomes json objects etc.

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  229. def getJsonAsOf(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule as of tx.

    Get json data for n rows matching a molecule as of tx.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 = Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Get List of all rows as of afterUpdate
      _ <- Person.name.age.getJsonAsOf(afterUpdate).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get List of n rows as of afterUpdate
      _ <- Person.name.age.getJsonAsOf(afterUpdate, 1).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43}
          |]""".stripMargin)
    } yield ()
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  230. def getJsonAsOf(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule as of date.

    Get json data for all rows matching a molecule as of date.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Retract
      tx3 <- ben.retract
      afterRetract = new java.util.Date
    
      // No data yet before insert
      _ <- Person.name.age.getJsonAsOf(beforeInsert).map(_ ==> "")
    
      // Get List of all rows as of afterInsert
      _ <- Person.name.age.getJsonAsOf(afterInsert).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 42},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get List of all rows as of afterUpdate
      _ <- Person.name.age.getJsonAsOf(afterUpdate).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get List of all rows as of afterRetract
      _ <- Person.name.age.getJsonAsOf(afterRetract).map(_ ==>
        """[
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  231. def getJsonAsOf(tx: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule as of tx.

    Get json data for n rows matching a molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Get json for all rows as of transaction tx2 (after update) - Ben now 43
      _ <- Person.name.age.getJsonAsOf(tx2).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for n rows as of transaction tx2 (after update) - Ben now 43
      _ <- Person.name.age.getJsonAsOf(tx2, 1).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43}
          |]""".stripMargin)
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  232. def getJsonAsOf(tx: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule as of tx.

    Get json data for all rows matching a molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Retract (tx report 3)
      tx3 <- ben.retract
    
      // Get json for all rows as of transaction tx1 (after insert)
      _ <- Person.name.age.getJsonAsOf(tx1).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 42},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for all rows as of transaction tx2 (after update) - Ben now 43
      _ <- Person.name.age.getJsonAsOf(tx2).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for all rows as of transaction tx3 (after retract) - Ben gone
      _ <- Person.name.age.getJsonAsOf(tx3).map(_ ==>
        """[
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  233. def getJsonAsOf(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule as of transaction time t.

    Get json data for n rows matching a molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.map(_.sortBy(r => (r._2, r._3)) ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
      ))
    
      // Get json for all rows as of transaction t 1031 (after update)
      _ <- Person.name.age.getJsonAsOf(1031).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for n (1) rows as of transaction t 1031 (after update)
      _ <- Person.name.age.getJsonAsOf(1031, 1).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43}
          |]""".stripMargin)
    } yield ()
    t

    Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  234. def getJsonAsOf(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule as of transaction time t.

    Get json data for all rows matching a molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // Retract (t 1032)
      ben.retract
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.sortBy(r => (r._2, r._3)).map(_ ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
        (43, 1032, false)  // Retract: 43 retracted
      ))
    
      // Get json for all rows as of transaction t 1028 (after insert)
      _ <- Person.name.age.getJsonAsOf(1028).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 42},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for all rows as of transaction t 1031 (after update) - Ben now 43
      _ <- Person.name.age.getJsonAsOf(1031).map(_ ==>
        """[
          |{"person.name": "Ben", "person.age": 43},
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    
      // Get json for all rows as of transaction t 1032 (after retract) - Ben gone
      _ <- Person.name.age.getJsonAsOf(1032).map(_ ==>
        """[
          |{"person.name": "Liz", "person.age": 37}
          |]""".stripMargin)
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  235. def getJsonSince(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule since date.

    Get json data for n rows matching a molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.map(_.inst)
      date2 <- Person.name("Ben").save.map(_.inst)
      date3 <- Person.name("Cay").save.map(_.inst)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since date1
      _ <- Person.name.getJsonSince(date1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Ben and Cay added since date1 - only n (1) rows returned
      _ <- Person.name.getJsonSince(date1, 1).map(_ ==>
        """[
          |{"person.name": "Ben"}
          |]""".stripMargin)
    }
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  236. def getJsonSince(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule since date.

    Get json data for all rows matching a molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.map(_.inst)
      date2 <- Person.name("Ben").save.map(_.inst)
      date3 <- Person.name("Cay").save.map(_.inst)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since date1
      _ <- Person.name.getJsonSince(date1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Cay added since date2
      _ <- Person.name.getJsonSince(date2).map(_ ==>
        """[
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Nothing added since date3
      _ <- Person.name.getJsonSince(date3).map(_ ==> ""
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  237. def getJsonSince(tx: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule since tx.

    Get json data for n rows matching a molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsync a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since tx1
      _ <- Person.name.getJsonSince(tx1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Ben and Cay added since tx1 - only n (1) rows returned
      _ <- Person.name.getJsonSince(tx1, 1).map(_ ==>
        """[
          |{"person.name": "Ben"}
          |]""".stripMargin)
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  238. def getJsonSince(tx: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule since tx.

    Get json data for all rows matching a molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsync a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since tx1
      _ <- Person.name.getJsonSince(tx1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Cay added since tx2
      _ <- Person.name.getJsonSince(tx2).map(_ ==>
        """[
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Nothing added since tx3
      _ <- Person.name.getJsonSince(tx3).map(_ ==> "")
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  239. def getJsonSince(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for n rows matching a molecule since transaction time t.

    Get json data for n rows matching a molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since transaction time t 1028
      _ <- Person.name.getJsonSince(t1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Ben and Cay added since transaction time t 1028 - only n (1) rows returned
      _ <- Person.name.getJsonSince(t1, 1).map(_ ==>
        """[
          |{"person.name": "Ben"}
          |]""".stripMargin)
    } yield ()
    t

    Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  240. def getJsonSince(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule since transaction time t.

    Get json data for all rows matching a molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since transaction time t 1028
      _ <- Person.name.getJsonSince(t1).map(_ ==>
        """[
          |{"person.name": "Ben"},
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Cay added since transaction time t 1030
      _ <- Person.name.getJsonSince(t2).map(_ ==>
        """[
          |{"person.name": "Cay"}
          |]""".stripMargin)
    
      // Nothing added since transaction time t 1032
      _ <- Person.name.getJsonSince(t3).map(_ ==> "")
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  241. def getJsonWith(n: Int, txMolecules: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule with applied molecule transaction data.

    Get json data for all rows matching a molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      List(ben, liz) <- Person.name.likes.insert(
        ("Ben", "pasta"),
        ("Liz", "pizza")
      ).map(_.eids)
    
      // Test multiple transactions
      _ <- Person.name.likes.getJsonWith(
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      ).map(_ ==>
        """[
          |{"person.name": "Ben", "person.likes": "sushi"},
          |{"person.name": "Liz", "person.likes": "cake"}
          |]""".stripMargin)
    
      // Same as above, but only n (1) rows returned:
      _ <- Person.name.likes.getJsonWith(
        1
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      ).map(_ ==>
        """[
          |{"person.name": "Ben", "person.likes": "sushi"}
          |]""".stripMargin)
    } yield ()

    Multiple transactions can be applied to test more complex what-if scenarios!

    txMolecules

    Transaction statements from applied Molecules with test data

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  242. def getJsonWith(txMolecules: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[String]

    Get json data for all rows matching a molecule with applied molecule transaction data.

    Get json data for all rows matching a molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      ben <- Person.name("Ben").likes("pasta").save.map(_.eid)
    
      // Base data
      _ <- Person.name.likes.getJsonWith(
        // apply imaginary transaction data
        Person(ben).likes("sushi").getUpdateStmts
      ).map(_ ==>
        """[
          |{"person.name": "Ben", "person.likes": "sushi"}
          |]""".stripMargin)
    
      // Current state is still the same
      _ <- Person.name.likes.get.map(_ ==> List(("Ben", "pasta")))
    } yield ()

    Multiple transactions can be applied to test more complex what-if scenarios!

    txMolecules

    Transaction statements from applied Molecules with test data

    conn

    Implicit Conn value in scope

    returns

    String of json

    Definition Classes
    GetJson
  243. def getKwName(kw: String): String
    Definition Classes
    Helpers
  244. def getObj(implicit conn: Future[Conn], ec: ExecutionContext): Future[Obj]

    Convenience method to get head of list of objects matching a molecule.

    Convenience method to get head of list of objects matching a molecule.

    for {
      person <- Person.name.age.getObj
      _ = person.name ==> "Ben"
      _ = person.age  ==> 42
    } yield ()
    conn

    Implicit Conn value in scope

    returns

    List[Obj] where Obj is an object with properties matching the attributes of the molecule

    Definition Classes
    GetObjs
  245. def getObjs(n: Int)(implicit futConn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule.

    Get Future with List of n rows as objects matching a molecule.

    for {
      List(p1) <- Person.name.age.getObjs(1)
      _ = p1.name ==> "Ben"
      _ = p1.age  ==> 42
    } yield ()
    n

    Int Number of rows returned

    futConn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  246. def getObjs(implicit futConn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule.

    Get Future with List of all rows as objects matching a molecule.

    for {
      List(p1, p2) <- Person.name.age.getObjs
      _ = p1.name ==> "Ben"
      _ = p1.age  ==> 42
      _ = p2.name ==> "Liz"
      _ = p2.age  ==> 37
    } yield ()
    futConn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  247. def getObjsAsOf(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule as of date.

    Get Future with List of n rows as objects matching a molecule as of date.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Get List of all rows as of afterUpdate
      List(a1, a2) <- Person.name.age.getObjsAsOf(afterUpdate)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 43 // <-- updated
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of n rows as of afterUpdate
      List(b1) <- Person.name.age.getObjsAsOf(afterUpdate, 1)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
    } yield ()
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  248. def getObjsAsOf(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule as of date.

    Get Future with List of all rows as objects matching a molecule as of date.

    Get data at a human point in time (a java.util.Date).

    for {
      beforeInsert = new java.util.Date
    
      // Insert
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      )
      List(ben, liz) = tx1.eids
      afterInsert = new java.util.Date
    
      // Update
      tx2 <- Person(ben).age(43).update
      afterUpdate = new java.util.Date
    
      // Retract
      tx3 <- ben.retract
      afterRetract = new java.util.Date
    
    
      // No data yet before insert
      _ <- Person.name.age.getObjsAsOf(beforeInsert).map(_ ==> Nil)
    
      // Get List of all rows as of afterInsert
      List(a1, a2) <- Person.name.age.getObjsAsOf(afterInsert)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 42
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of all rows as of afterUpdate
      List(b1, b2) <- Person.name.age.getObjsAsOf(afterUpdate)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
      _ = b2.name ==> "Liz"
      _ = b2.age  ==> 37
    
      // Get List of all rows as of afterRetract
      List(c1) <- Person.name.age.getObjsAsOf(afterRetract)
      _ = c1.name ==> "Liz"
      _ = c1.age  ==> 37
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  249. def getObjsAsOf(tx: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule as of tx.

    Get Future with List of n rows as objects matching a molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37)
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Get List of all rows as of tx2 (after update)
      List(a1, a2) <- Person.name.age.getObjsAsOf(tx2)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 43 // <-- updated
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of n rows as of tx2 (after update)
      List(b1) <- Person.name.age.getObjsAsOf(tx2, 1)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  250. def getObjsAsOf(tx: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule as of tx.

    Get Future with List of all rows as objects matching a molecule as of tx.

    Datomic's internal asOf method can take a transaction entity id as argument to retrieve a database value as of that transaction (including).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we get a TxReport from transaction operations like get, update, retract etc.

    for {
      // Insert (tx report 1)
      tx1 <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      )
      List(ben, liz) = tx1.eids
    
      // Update (tx report 2)
      tx2 <- Person(ben).age(43).update
    
      // Retract (tx report 3)
      tx3 = ben.retract
    
      // Get List of all rows as of tx1 (after insert)
      List(a1, a2) <- Person.name.age.getObjsAsOf(tx1)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 42
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of all rows as of tx2 (after update)
      List(b1, b2) <- Person.name.age.getObjsAsOf(tx2)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
      _ = b2.name ==> "Liz"
      _ = b2.age  ==> 37
    
      // Get List of all rows as of tx3 (after retract)
      List(c1) <- Person.name.age.getObjsAsOf(tx3)
      _ = c1.name ==> "Liz"
      _ = c1.age  ==> 37
    } yield ()
    tx

    TxReport (returned from all molecule transaction operations)

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  251. def getObjsAsOf(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule as of transaction time t.

    Get Future with List of n rows as objects matching a molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.sortBy(r => (r._2, r._3)).map(_ ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
      ))
    
      // Get List of all rows as of transaction t 1031 (after update)
      List(a1, a2) <- Person.name.age.getObjsAsOf(1031)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 43 // <-- updated
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of n rows as of transaction t 1031 (after update)
      List(b1) <- Person.name.age.getObjsAsOf(1031)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
    } yield ()
    t

    Long Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  252. def getObjsAsOf(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule as of transaction time t.

    Get Future with List of all rows as objects matching a molecule as of transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved in a getHistory call for an attribute and then be used to get data as of that point in time (including that transaction):

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // Retract (t 1032)
      _ <- ben.retract
    
      // History of Ben
      _ <- Person(ben).age.t.op.getHistory.sortBy(r => (r._2, r._3)).map(_ ==> List(
        (42, 1028, true),  // Insert:  42 asserted
        (42, 1031, false), // Update:  42 retracted
        (43, 1031, true),  //          43 asserted
        (43, 1032, false)  // Retract: 43 retracted
      ))
    
      // Get List of data as of transaction t 1028 (after insert)
      List(a1, a2) <- Person.name.age.getObjsAsOf(1028)
      _ = a1.name ==> "Ben"
      _ = a1.age  ==> 42
      _ = a2.name ==> "Liz"
      _ = a2.age  ==> 37
    
      // Get List of data as of transaction t 1031 (after update)
      List(b1, b2) <- Person.name.age.getObjsAsOf(1031)
      _ = b1.name ==> "Ben"
      _ = b1.age  ==> 43 // <-- updated
      _ = b2.name ==> "Liz"
      _ = b2.age  ==> 37
    
      // Get List of all rows as of transaction t 1032 (after retract)
      List(c1) <- Person.name.age.getObjsAsOf(1032)
      _ = c1.name ==> "Liz"
      _ = c1.age  ==> 37
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  253. def getObjsHistory(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with history of operations as List on an attribute in the db.

    Get Future with history of operations as List on an attribute in the db.

    Generic datom attributes that can be called when getHistory is called:

    e - Entity id
    a - Attribute name
    v - Attribute value
    ns - Namespace name
    tx - TxReport
    t - Transaction time t
    txInstant - Transaction time as java.util.Date
    op - Operation: true (add) or false (retract)

    Example:

    for {
      // Insert (t 1028)
      List(ben, liz) <- Person.name.age insert List(
        ("Ben", 42),
        ("Liz", 37),
      ) eids
    
      // Update (t 1031)
      _ <- Person(ben).age(43).update
    
      // Retract (t 1032)
      _ <- ben.retract
    
      // History of Ben
      _ <- Person(ben).age.t.op.getObjsHistory.map(_
        .sortBy(o => (o.t, o.op))
        .map(o => "" + o.age + " " + o.t + " " + o.op) ==> List(
        "42 1028 true",  // Insert:  42 asserted
        "42 1031 false", // Update:  42 retracted
        "43 1031 true",  //          43 asserted
        "43 1032 false"  // Retract: 43 retracted
      ))
    } yield ()
    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  254. def getObjsSince(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule since date.

    Get Future with List of n rows as objects matching a molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.inst
      date2 <- Person.name("Ben").save.inst
      date3 <- Person.name("Cay").save.inst
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since date1
      List(b1, b2) <- Person.name.getObjsSince(date1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Ben and Cay added since date1 - only n (1) rows returned
      List(c1) <- Person.name.getObjsSince(date1, 1)
      _ = c1.name ==> "Ben"
    } yield ()
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  255. def getObjsSince(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule since date.

    Get Future with List of all rows as objects matching a molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.inst
      date2 <- Person.name("Ben").save.inst
      date3 <- Person.name("Cay").save.inst
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since date1
      List(b1, b2) <- Person.name.getObjsSince(date1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Cay added since transaction time date2
      List(c1) <- Person.name.getObjsSince(date2)
      _ = c1.name ==> "Cay"
    
      // Nothing added since transaction time date3
      _ <- Person.name.getObjsSince(date3).map(_ ==> Nil)
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  256. def getObjsSince(tx: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule since tx.

    Get Future with List of n rows as objects matching a molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsyncObjList a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since tx1
      List(b1, b2) <- Person.name.getObjsSince(tx1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Ben and Cay added since tx1 - only n (1) rows returned
      List(c1) <- Person.name.getObjsSince(tx1, 1)
      _ = c1.name ==> "Ben"
    } yield ()
    tx

    TxReport

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  257. def getObjsSince(tx: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule since tx.

    Get Future with List of all rows as objects matching a molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsyncObjList a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since transaction time tx1
      List(b1, b2) <- Person.name.getObjsSince(tx1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Cay added since transaction time tx2
      List(c1) <- Person.name.getObjsSince(tx2)
      _ = c1.name ==> "Cay"
    
      // Nothing added since transaction time tx3
      _ <- Person.name.getObjsSince(tx3).map(_ ==> Nil)
    } yield ()
    tx

    TxReport

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  258. def getObjsSince(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule since transaction time t.

    Get Future with List of n rows as objects matching a molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since transaction time t1
      List(b1, b2) <- Person.name.getObjsSince(t1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Ben and Cay added since transaction time t1 - only n (1) rows returned
      List(c1) <- Person.name.getObjsSince(t1, 1)
      _ = c1.name ==> "Ben"
    } yield ()
    t

    Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  259. def getObjsSince(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule since transaction time t.

    Get Future with List of all rows as objects matching a molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      List(a1, a2, a3) <- Person.name.getObjs
      _ = a1.name ==> "Ann"
      _ = a2.name ==> "Ben"
      _ = a3.name ==> "Cay"
    
      // Ben and Cay added since transaction time t1
      List(b1, b2) <- Person.name.getObjsSince(t1)
      _ = b1.name ==> "Ben"
      _ = b2.name ==> "Cay"
    
      // Cay added since transaction time t2
      List(c1) <- Person.name.getObjsSince(t2)
      _ = c1.name ==> "Cay"
    
      // Nothing added since transaction time t3
      _ <- Person.name.getObjsSince(t3).map(_ ==> Nil)
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  260. def getObjsWith(n: Int, txMolecules: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of n rows as objects matching a molecule with applied molecule transaction data.

    Get Future with List of n rows as objects matching a molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      List(ben, liz) <- Person.name.likes.insert(
        ("Ben", "pasta"),
        ("Liz", "pizza")
      ).map(_.eids)
    
      List(p1, p2) <- Person.name.likes.getObjs
      _ = p1.name  ==> "Ben"
      _ = p1.likes ==> "pasta"
      _ = p2.name  ==> "Liz"
      _ = p2.likes ==> "pizza"
    
      // Test multiple transactions
      List(testP1, testP2) <- Person.name.likes.getObjsWith(
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      )
      // Effect: sushi and cake now liked
      _ = testP1.name  ==> "Ben"
      _ = testP1.likes ==> "sushi"
      _ = testP2.name  ==> "Liz"
      _ = testP2.likes ==> "cake"
    
      // Same as above, but only n (1) rows returned:
      List(oneTestP) <- Person.name.likes.getObjsWith(
        1
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      )
      // Effect: sushi and cake now liked (but only Ben returned)
      _ = oneTestP.name  ==> "Ben"
      _ = oneTestP.likes ==> "sushi"
    
      // Current state is still the same
      List(p3, p4) <- Person.name.likes.getObjs
      _ = p3.name  ==> "Ben"
      _ = p3.likes ==> "pasta"
      _ = p4.name  ==> "Liz"
      _ = p4.likes ==> "pizza"
    } yield ()
    n

    Int Number of rows returned

    txMolecules

    Transaction statements from applied Molecules with test data

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
    Note

    Note how the n parameter has to come before the txMolecules vararg.

  261. def getObjsWith(txMolecules: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[Obj]]

    Get Future with List of all rows as objects matching a molecule with applied molecule transaction data.

    Get Future with List of all rows as objects matching a molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      ben <- Person.name("Ben").likes("pasta").save.map(_.eid)
    
      List(p0) <- Person.name.likes.getObjs
      _ = p0.name  ==> "Ben"
      _ = p0.likes ==> "pasta"
    
      // Test adding transaction data
      List(pTest) <- Person.name.likes.getObjsWith(
        // Additional transaction data
        Person(ben).likes("sushi").getUpdateStmts
      )
      // Effect: Ben would like sushi if tx was applied
      _ = pTest.name  ==> "Ben"
      _ = pTest.likes ==> "sushi"
    
      // Current state is still the same
      List(pAfter) <- Person.name.likes.getObjs
      _ = pAfter.name  ==> "Ben"
      _ = pAfter.likes ==> "pasta"
    } yield ()

    Multiple transactions can be applied to test more complex what-if scenarios!

    txMolecules

    Transaction statements from applied Molecules with test data

    conn

    Implicit Conn value in scope

    returns

    Future[List[Obj]] where Obj is an object type having property types matching the attributes of the molecule

    Definition Classes
    GetObjs
  262. def getSaveStmts(implicit conn: Future[Conn], ec: ExecutionContext): Future[Seq[Statement]]

    Get transaction statements of a call to save on a molecule (without affecting the db).

    Get transaction statements of a call to save on a molecule (without affecting the db).

    conn

    Implicit Conn value in scope

    returns

    Transaction statements

    Definition Classes
    Molecule_0
  263. def getSince(date: Date, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule since date.

    Get Future with List of n rows as tuples matching molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.map(_.inst)
      date2 <- Person.name("Ben").save.map(_.inst)
      date3 <- Person.name("Cay").save.map(_.inst)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since date1
      _ <- Person.name.getSince(date1).map(_ ==> List("Ben", "Cay"))
    
      // Ben and Cay added since date1 - only n (1) rows returned
      _ <- Person.name.getSince(date1, 1).map(_ ==> List("Ben"))
    } yield ()
    date

    java.util.Date

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  264. def getSince(date: Date)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule since date.

    Get Future with List of all rows as tuples matching molecule since date.

    Get data added/retracted since a human point in time (a java.util.Date).

    for {
      // Transact 3 times (`inst` retrieves transaction time/Date from tx report)
      date1 <- Person.name("Ann").save.map(_.inst)
      date2 <- Person.name("Ben").save.map(_.inst)
      date3 <- Person.name("Cay").save.map(_.inst)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since date1
      _ <- Person.name.getSince(date1).map(_ ==> List("Ben", "Cay"))
    
      // Cay added since date2
      _ <- Person.name.getSince(date2).map(_ ==> List("Cay"))
    
      // Nothing added since date3
      _ <- Person.name.getSince(date3).map(_ ==> Nil)
    } yield ()
    date

    java.util.Date

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  265. def getSince(txR: TxReport, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule since tx.

    Get Future with List of n rows as tuples matching molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsync a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since tx1
      _ <- Person.name.getSince(tx1).map(_ ==> List("Ben", "Cay"))
    
      // Ben and Cay added since tx1 - only n (1) rows returned
      _ <- Person.name.getSince(tx1, 1).map(_ ==> List("Ben"))
    } yield ()
    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  266. def getSince(txR: TxReport)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule since tx.

    Get Future with List of all rows as tuples matching molecule since tx.

    Datomic's internal since can take a transaction entity id as argument to retrieve a database value since that transaction (excluding the transaction itself).

    Instead of supplying the transaction entity id, in Molecule we supply a TxReport that contains the transaction entity id (which is used as argument to Datomic internally). This is more convenient when using Molecule since we getAsync a TxReport from transaction operations like get, update, retract etc.

    for {
      // Get tx reports for 3 transactions
      tx1 <- Person.name("Ann").save
      tx2 <- Person.name("Ben").save
      tx3 <- Person.name("Cay").save
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since tx1
      _ <- Person.name.getSince(tx1).map(_ ==> List("Ben", "Cay"))
    
      // Cay added since tx2
      _ <- Person.name.getSince(tx2).map(_ ==> List("Cay"))
    
      // Nothing added since tx3
      _ <- Person.name.getSince(tx3).map(_ ==> Nil)
    } yield ()
    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  267. def getSince(t: Long, n: Int)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule since transaction time t.

    Get Future with List of n rows as tuples matching molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since transaction time t1
      _ <- Person.name.getSince(t1).map(_ ==> List("Ben", "Cay"))
    
      // Ben and Cay added since transaction time t1 - only n (1) rows returned
      _ <- Person.name.getSince(t1, 1).map(_ ==> List("Ben"))
    } yield ()
    t

    Transaction time t

    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  268. def getSince(t: Long)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule since transaction time t.

    Get Future with List of all rows as tuples matching molecule since transaction time t.

    Transaction time t is an auto-incremented transaction number assigned internally by Datomic.

    t can for instance be retrieved by calling t on the tx report returned from transactional operations and then be used to get data since that point in time (excluding that transaction):

    for {
      // 3 transaction times `t`
      t1 <- Person.name("Ann").save.map(_.t)
      t2 <- Person.name("Ben").save.map(_.t)
      t3 <- Person.name("Cay").save.map(_.t)
    
      // Current values
      _ <- Person.name.get.map(_ ==> List("Ann", "Ben", "Cay"))
    
      // Ben and Cay added since transaction time t1
      _ <- Person.name.getSince(t1).map(_ ==> List("Ben", "Cay"))
    
      // Cay added since transaction time t2
      _ <- Person.name.getSince(t2).map(_ ==> List("Cay"))
    
      // Nothing added since transaction time t3
      _ <- Person.name.getSince(t3).map(_ ==> Nil)
    } yield ()
    t

    Transaction time t

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  269. def getUpdateStmts(implicit conn: Future[Conn], ec: ExecutionContext): Future[Seq[Statement]]

    Get transaction statements of a call to update on a molecule (without affecting the db).

    Get transaction statements of a call to update on a molecule (without affecting the db).

    conn

    Implicit Conn value in scope

    Definition Classes
    Molecule_0
  270. def getWith(n: Int, txData: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of n rows as tuples matching molecule with applied molecule transaction data.

    Get Future with List of n rows as tuples matching molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      List(ben, liz) <- Person.name.likes.insert(
        ("Ben", "pasta"),
        ("Liz", "pizza")
      ).eids
    
      // Test multiple transactions
      _ <- Person.name.likes.getWith(
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      ).map(_ ==> List(
        ("Ben", "sushi")
        ("Liz", "cake")
      ))
    
      // Same as above, but only n (1) rows returned:
      _ <- Person.name.likes.getWith(
        1
        Person(ben).likes("sushi").getUpdateStmts,
        Person(liz).likes("cake").getUpdateStmts
      ).map(_ ==> List(
        ("Ben", "sushi")
      ))
    } yield ()
    n

    Int Number of rows returned

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
    Note

    Note how the n parameter has to come before the txMolecules vararg.

  271. def getWith(txData: Future[Seq[Statement]]*)(implicit conn: Future[Conn], ec: ExecutionContext): Future[List[(A, B, C, D, E, F, G, H, I, J, K, L, M)]]

    Get Future with List of all rows as tuples matching molecule with applied molecule transaction data.

    Get Future with List of all rows as tuples matching molecule with applied molecule transaction data.

    Apply one or more molecule transactions to in-memory "branch" of db without affecting db to see how it would then look:

    for {
      // Current state
      ben <- Person.name("Ben").likes("pasta").save.map(_.eid)
    
      // Base data
      _ <- Person.name.likes.getWith(
        // apply imaginary transaction data
        Person(ben).likes("sushi").getUpdateStmts
      ).map(_ ==> List(
        // Effect: Ben would like sushi if tx was applied
        ("Ben", "sushi")
      ))
    
      // Current state is still the same
      _ <- Person.name.likes.get.map(_ ==> List(("Ben", "pasta")))
    } yield ()

    Multiple transactions can be applied to test more complex what-if scenarios!

    conn

    Implicit Conn value in scope

    returns

    Future[List[Tpl]] where Tpl is a tuple of types matching the attributes of the molecule

    Definition Classes
    GetTpls
  272. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  273. def indent(tabs: Int): String
    Definition Classes
    JsonBase
  274. def inspectGet(implicit futConn: Future[Conn]): Future[Unit]

    Inspect call to get on a molecule (without affecting the db).

    Inspect call to get on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows). OBS: printing raw Date's (Clojure Instant) will miss the time-zone

    futConn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  275. def inspectGetAsOf(date: Date)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getAsOf(date) on a molecule (without affecting the db).

    Inspect call to getAsOf(date) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    conn

    Implicit Conn value in scsope

    Definition Classes
    ShowInspect
  276. def inspectGetAsOf(tx: TxReport)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getAsOf(tx) on a molecule (without affecting the db).

    Inspect call to getAsOf(tx) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    tx

    TxReport

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  277. def inspectGetAsOf(t: Long)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getAsOf(t) on a molecule (without affecting the db).

    Inspect call to getAsOf(t) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  278. def inspectGetHistory(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getHistory on a molecule (without affecting the db).

    Inspect call to getHistory on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  279. def inspectGetSince(date: Date)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getSince(date) on a molecule (without affecting the db).

    Inspect call to getSince(date) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  280. def inspectGetSince(tx: TxReport)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getSince(tx) on a molecule (without affecting the db).

    Inspect call to getSince(tx) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    tx

    TxReport

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  281. def inspectGetSince(t: Long)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getSince(t) on a molecule (without affecting the db).

    Inspect call to getSince(t) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  282. def inspectGetWith(txMolecules: Seq[Statement]*)(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to getWith(txMolecules) on a molecule (without affecting the db).

    Inspect call to getWith(txMolecules) on a molecule (without affecting the db).

    Prints the following to output:

    1. Internal molecule transformation representations:
    Molecule DSL --> Model --> Query --> Datomic query

    2. Data returned from get query (max 500 rows).

    3. Transactions of applied transaction molecules.

    txMolecules

    Transaction statements from applied Molecules with test data

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  283. def inspectSave(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to save on a molecule (without affecting the db).

    Inspect call to save on a molecule (without affecting the db).

    Prints internal molecule transformation representations to output:

    Model --> Generic statements --> Datomic statements

    conn

    Implicit Conn value in scope

    returns

    Unit

    Definition Classes
    ShowInspect
  284. def inspectUpdate(implicit conn: Future[Conn]): Future[Unit]

    Inspect call to update on a molecule (without affecting the db).

    Inspect call to update on a molecule (without affecting the db).

    Prints internal molecule transformation representations to output:

    Model --> Generic statements --> Datomic statements

    conn

    Implicit Conn value in scope

    Definition Classes
    ShowInspect
  285. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  286. def isOptNested: Boolean
    Attributes
    protected
    Definition Classes
    Marshalling
  287. def iterableAsScalaIterable[A](i: Iterable[A]): Iterable[A]
    Definition Classes
    JavaConversions
  288. implicit def iterableAsScalaIterableConverter[A](i: Iterable[A]): AsScala[Iterable[A]]

    Adds an asScala method that implicitly converts a Java Iterable to a Scala Iterable.

    Adds an asScala method that implicitly converts a Java Iterable to a Scala Iterable.

    Definition Classes
    JavaConversions
  289. def jsNumber(tpe: String, v: Any): Any
    Definition Classes
    Helpers
  290. def jsonAggrManyList(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  291. def jsonAggrManyListDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  292. def jsonAggrManyListDistinct(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  293. def jsonAggrManyListDistinctDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  294. def jsonAggrManyListDistinctQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  295. def jsonAggrManyListDistinctToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  296. def jsonAggrManyListQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  297. def jsonAggrManyListRand(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  298. def jsonAggrManyListRandDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  299. def jsonAggrManyListRandQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  300. def jsonAggrManyListRandToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  301. def jsonAggrManyListToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  302. def jsonAggrManySingle(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  303. def jsonAggrManySingleDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  304. def jsonAggrManySingleQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  305. def jsonAggrManySingleToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  306. def jsonAggrOneList(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  307. def jsonAggrOneListDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  308. def jsonAggrOneListDistinct(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  309. def jsonAggrOneListDistinctDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  310. def jsonAggrOneListDistinctQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  311. def jsonAggrOneListDistinctToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  312. def jsonAggrOneListQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  313. def jsonAggrOneListRand(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  314. def jsonAggrOneListRandDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  315. def jsonAggrOneListRandQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  316. def jsonAggrOneListRandToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  317. def jsonAggrOneListToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  318. def jsonAggrSingleSample(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  319. def jsonAggrSingleSampleDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  320. def jsonAggrSingleSampleQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  321. def jsonAggrSingleSampleToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonAggr
  322. def jsonAnyValue(sb: StringBuffer, v: Any): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonBase
  323. def jsonMany(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  324. def jsonManyDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  325. def jsonManyQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  326. def jsonManyToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  327. def jsonMap(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  328. def jsonMapQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  329. def jsonOne(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  330. def jsonOneAny(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  331. def jsonOneDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  332. def jsonOneQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  333. def jsonOneToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  334. def jsonOptApplyMany(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  335. def jsonOptApplyManyDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  336. def jsonOptApplyManyQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  337. def jsonOptApplyManyToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  338. def jsonOptApplyMap(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  339. def jsonOptApplyMapQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  340. def jsonOptApplyOne(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  341. def jsonOptApplyOneDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  342. def jsonOptApplyOneQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  343. def jsonOptApplyOneToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  344. def jsonOptMany(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  345. def jsonOptManyDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  346. def jsonOptManyEnum(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  347. def jsonOptManyQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  348. def jsonOptManyRefAttr(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  349. def jsonOptManyToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  350. def jsonOptMap(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  351. def jsonOptMapQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int, tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  352. def jsonOptNestedMany(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  353. def jsonOptNestedManyDate(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  354. def jsonOptNestedManyEnum(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  355. def jsonOptNestedManyQuoted(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  356. def jsonOptNestedManyRefAttr(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  357. def jsonOptNestedManyToString(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  358. def jsonOptNestedMap(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  359. def jsonOptNestedMapQuoted(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  360. def jsonOptNestedOne(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  361. def jsonOptNestedOneAny(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  362. def jsonOptNestedOneDate(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  363. def jsonOptNestedOneEnum(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  364. def jsonOptNestedOneQuoted(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  365. def jsonOptNestedOneRefAttr(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  366. def jsonOptNestedOneToString(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  367. def jsonOptNestedOptMany(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  368. def jsonOptNestedOptManyDate(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  369. def jsonOptNestedOptManyEnum(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  370. def jsonOptNestedOptManyQuoted(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  371. def jsonOptNestedOptManyRefAttr(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  372. def jsonOptNestedOptManyToString(sb: StringBuffer, field: String, it0: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  373. def jsonOptNestedOptMap(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  374. def jsonOptNestedOptMapQuoted(sb: StringBuffer, field: String, it: Iterator[_], tabs: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  375. def jsonOptNestedOptOne(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  376. def jsonOptNestedOptOneDate(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  377. def jsonOptNestedOptOneEnum(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  378. def jsonOptNestedOptOneQuoted(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  379. def jsonOptNestedOptOneRefAttr(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  380. def jsonOptNestedOptOneToString(sb: StringBuffer, field: String, it: Iterator[_]): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonOptNested
  381. def jsonOptOne(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  382. def jsonOptOneDate(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  383. def jsonOptOneEnum(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  384. def jsonOptOneQuoted(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  385. def jsonOptOneRefAttr(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  386. def jsonOptOneToString(sb: StringBuffer, field: String, row: List[_], colIndex: Int): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonTypes
  387. def list(items: AnyRef*): List[AnyRef]
    Definition Classes
    JavaUtil
  388. def localOffset: String
    Definition Classes
    DateHandling
  389. def localZoneOffset: ZoneOffset
    Definition Classes
    DateHandling
  390. def mapAsJavaConcurrentMap[K, V](m: Map[K, V]): ConcurrentMap[K, V]
    Definition Classes
    JavaConversions
  391. implicit def mapAsJavaConcurrentMapConverter[K, V](m: Map[K, V]): AsJava[ConcurrentMap[K, V]]

    Adds an asJava method that implicitly converts a Scala mutable concurrent.Map to a Java ConcurrentMap.

    Adds an asJava method that implicitly converts a Scala mutable concurrent.Map to a Java ConcurrentMap.

    Definition Classes
    JavaConversions
  392. def mapAsJavaMap[K, V](m: Map[K, V]): Map[K, V]
    Definition Classes
    JavaConversions
  393. implicit def mapAsJavaMapConverter[K, V](m: Map[K, V]): AsJava[Map[K, V]]

    Adds an asJava method that implicitly converts a Scala Map to a Java Map.

    Adds an asJava method that implicitly converts a Scala Map to a Java Map.

    Definition Classes
    JavaConversions
  394. def mapAsScalaConcurrentMap[A, B](m: ConcurrentMap[A, B]): Map[A, B]
    Definition Classes
    JavaConversions
  395. implicit def mapAsScalaConcurrentMapConverter[K, V](m: ConcurrentMap[K, V]): AsScala[Map[K, V]]

    Adds an asScala method that implicitly converts a Java ConcurrentMap to a Scala mutable concurrent.Map.

    Adds an asScala method that implicitly converts a Java ConcurrentMap to a Scala mutable concurrent.Map.

    Definition Classes
    JavaConversions
  396. def mapAsScalaMap[A, B](m: Map[A, B]): Map[A, B]
    Definition Classes
    JavaConversions
  397. implicit def mapAsScalaMapConverter[K, V](m: Map[K, V]): AsScala[Map[K, V]]

    Adds an asScala method that implicitly converts a Java Map to a Scala mutable Map.

    Adds an asScala method that implicitly converts a Java Map to a Scala mutable Map.

    Definition Classes
    JavaConversions
  398. def marshallInputs(q: Query): (Seq[(Int, String, String)], Seq[(Int, String, Seq[String])], Seq[(Int, String, Seq[Seq[String]])])
    Definition Classes
    ColOps
  399. def maxRows: Int
    Definition Classes
    ShowInspect
  400. def mutableMapAsJavaMap[K, V](m: Map[K, V]): Map[K, V]
    Definition Classes
    JavaConversions
  401. implicit def mutableMapAsJavaMapConverter[K, V](m: Map[K, V]): AsJava[Map[K, V]]

    Adds an asJava method that implicitly converts a Scala mutable Map to a Java Map.

    Adds an asJava method that implicitly converts a Scala mutable Map to a Java Map.

    Definition Classes
    JavaConversions
  402. def mutableSeqAsJavaList[A](s: Seq[A]): List[A]
    Definition Classes
    JavaConversions
  403. implicit def mutableSeqAsJavaListConverter[A](b: Seq[A]): AsJava[List[A]]

    Adds an asJava method that implicitly converts a Scala mutable Seq to a Java List.

    Adds an asJava method that implicitly converts a Scala mutable Seq to a Java List.

    Definition Classes
    JavaConversions
  404. def mutableSetAsJavaSet[A](s: Set[A]): Set[A]
    Definition Classes
    JavaConversions
  405. implicit def mutableSetAsJavaSetConverter[A](s: Set[A]): AsJava[Set[A]]

    Adds an asJava method that implicitly converts a Scala mutable Set to a Java Set.

    Adds an asJava method that implicitly converts a Scala mutable Set to a Java Set.

    Definition Classes
    JavaConversions
  406. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  407. def nestedLevels: Int
    Attributes
    protected
    Definition Classes
    Marshalling
  408. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  409. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  410. final def o(opt: Option[Any]): String
    Definition Classes
    Helpers
  411. def obj: Obj
    Attributes
    protected
    Definition Classes
    Marshalling
  412. final def os(opt: Option[Set[_]]): String
    Definition Classes
    Helpers
  413. def packed2json(vs: Iterator[String], sb: StringBuffer): StringBuffer
    Attributes
    protected
    Definition Classes
    Marshalling
  414. def packed2obj(vs: Iterator[String]): Obj
    Attributes
    protected
    Definition Classes
    Marshalling
  415. def packed2tpl(vs: Iterator[String]): (A, B, C, D, E, F, G, H, I, J, K, L, M)
    Attributes
    protected
    Definition Classes
    Marshalling
  416. def pad(longest: Int, shorter: Int): String
    Definition Classes
    Helpers
  417. def padS(longest: Int, str: String): String
    Definition Classes
    Helpers
  418. def pair(sb: StringBuffer, field: String, value: Any): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonBase
  419. def propertiesAsScalaMap(p: Properties): Map[String, String]
    Definition Classes
    JavaConversions
  420. implicit def propertiesAsScalaMapConverter(p: Properties): AsScala[Map[String, String]]

    Adds an asScala method that implicitly converts a Java Properties to a Scala mutable Map[String, String].

    Adds an asScala method that implicitly converts a Java Properties to a Scala mutable Map[String, String].

    Definition Classes
    JavaConversions
  421. def quote(sb: StringBuffer, s: String): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonBase
  422. def quotedPair(sb: StringBuffer, field: String, value: String): StringBuffer
    Attributes
    protected
    Definition Classes
    JsonBase
  423. def refIndexes: List[List[Int]]
    Attributes
    protected
    Definition Classes
    Marshalling
  424. final def render(value: Any): String
    Definition Classes
    Helpers
  425. def row2json(row: List[AnyRef], sb: StringBuffer): StringBuffer
    Attributes
    protected
    Definition Classes
    Marshalling
  426. def row2obj(row: List[AnyRef]): Obj
    Attributes
    protected
    Definition Classes
    Marshalling
  427. def row2tpl(row: List[AnyRef]): (A, B, C, D, E, F, G, H, I, J, K, L, M)
    Attributes
    protected
    Definition Classes
    Marshalling
  428. def save(implicit conn: Future[Conn], ec: ExecutionContext): Future[TxReport]

    Save data applied to molecule attributes.

    Save data applied to molecule attributes.

    Returns Future with TxReport having info about the result of the save transaction.

    for {
      _ <- Person.name("Ben").age(42).save
      _ <- Person.name.age.get.map(_.head ==> ("Ben", 42))
    } yield ()

    The save operation is asynchronous and non-blocking. Internally calls Datomic's asynchronous API.

    conn

    Implicit Conn value in scope

    returns

    Future with TxReport with info about the result of the save transaction.

    Definition Classes
    Molecule_0
  429. def seqAsJavaList[A](s: Seq[A]): List[A]
    Definition Classes
    JavaConversions
  430. implicit def seqAsJavaListConverter[A](b: Seq[A]): AsJava[List[A]]

    Adds an asJava method that implicitly converts a Scala Seq to a Java List.

    Adds an asJava method that implicitly converts a Scala Seq to a Java List.

    Definition Classes
    JavaConversions
  431. def setAsJavaSet[A](s: Set[A]): Set[A]
    Definition Classes
    JavaConversions
  432. implicit def setAsJavaSetConverter[A](s: Set[A]): AsJava[Set[A]]

    Adds an asJava method that implicitly converts a Scala Set to a Java Set.

    Adds an asJava method that implicitly converts a Scala Set to a Java Set.

    Definition Classes
    JavaConversions
  433. final def sq[T](values: Seq[T]): String
    Definition Classes
    Helpers
  434. def str2date(s: String, zoneOffset: ZoneOffset = localZoneOffset): Date
    Definition Classes
    DateHandling
  435. def str2zdt(s: String, zoneOffset: ZoneOffset = localZoneOffset): ZonedDateTime
    Definition Classes
    DateHandling
  436. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  437. def tacitIndexes: List[List[Int]]
    Attributes
    protected
    Definition Classes
    Marshalling
  438. def thousands(i: Long): String
    Definition Classes
    Helpers
  439. final def time(n: Int, prev: Int = 0): Unit
    Attributes
    protected
    Definition Classes
    Helpers
  440. def toJavaList(scalaList: Seq[List[_]]): List[List[_]]
    Definition Classes
    JavaUtil
  441. def toString(): String
    Definition Classes
    AnyRef → Any
  442. def truncateDateStr(dateStr: String): String
    Definition Classes
    DateHandling
  443. final def tupleToSeq(arg: Any): Seq[Any]
    Attributes
    protected
    Definition Classes
    Helpers
  444. def unescStr(s: String): String
    Definition Classes
    Helpers
  445. final def untupled(rawData: Iterable[Seq[Any]]): Iterable[Seq[Any]]
    Definition Classes
    Helpers
  446. def update(implicit conn: Future[Conn], ec: ExecutionContext): Future[TxReport]

    Update entity with data applied to molecule attributes.

    Update entity with data applied to molecule attributes. Returns Future with TxReport having info about the result of the update transaction.

    for {
      _ <- Person.name("Ben").age(42).save
      benId = saveStmts.map(_.eid)
      _ <- Person(benId).age(43).update
      _ <- Person.name.age.get.map(_.head ==> ("Ben", 43))
    } yield ()

    The update operation is asynchronous and non-blocking. Internally calls Datomic's asynchronous API.

    conn

    Implicit Conn value in scope

    returns

    TxReport

    Definition Classes
    Molecule_0
  447. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  448. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  449. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  450. def zone: ZoneId
    Definition Classes
    DateHandling
  451. object getInsertStmts extends getInsertStmts
  452. object insert extends insert
  453. object inspectInsert extends inspectInsert

Inherited from Molecule_0[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from ShowInspect[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from JavaConversions

Inherited from GetJson[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from JavaUtil

Inherited from GetObjs[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from GetTpls[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from ColOps

Inherited from JsonOptNested

Inherited from JsonAggr

Inherited from JsonTypes

Inherited from JsonBase

Inherited from CastOptNested

Inherited from CastAggr

Inherited from CastTypes

Inherited from Marshalling[Obj, (A, B, C, D, E, F, G, H, I, J, K, L, M)]

Inherited from Helpers

Inherited from DateHandling

Inherited from RegexMatching

Inherited from Molecule

Inherited from AnyRef

Inherited from Any

getAsync

getJsonAsOf

getJsonSince

getJsonWith

get

getAsOf

getSince

getWith

getHistory

save

insert

update

getStmts

Inspect get

Molecule getter inspecting methods.

Inspect operation

Molecule operation inspecting methods (no effect on live db).

Internal (but public) model/query representations

Ungrouped