abstract class InputMolecule_2_03[I1, I2, A, B, C] extends InputMolecule_2[I1, I2]
- Grouped
- Alphabetic
- By Inheritance
- InputMolecule_2_03
- InputMolecule_2
- InputMolecule
- MoleculeBase
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
Abstract Value Members
-
abstract
def
apply(in1: Seq[I1], in2: Seq[I2])(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying 2 Seq of values, one for each input attribute
Resolve input molecule by applying 2 Seq of values, one for each input attribute
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for profession and age val profAge = m(Person.name.profession_(?).age_(?)) // Apply 2 Seq of values, each matching one of the input attributes profAge(Seq("doctor"), Seq(37)).get === List("Ann") profAge(Seq("doctor", "teacher"), Seq(37, 32)).get.sorted === List("Ann", "Ben", "Joe") // Number of arguments in each Seq don't have to match but can be asymmetric profAge(Seq("doctor", "teacher"), Seq(37)).get.sorted === List("Ann", "Ben") profAge(Seq("teacher"), Seq(37, 32)).get.sorted === List("Ben", "Joe")
- in1
Seq of values matching first input attribute (professions: Seq[String])
- in2
Seq of values matching second input attribute (ages: Seq[Int])
- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
-
abstract
def
apply(ins: Seq[(I1, I2)])(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying Seq of value pairs
Resolve input molecule by applying Seq of value pairs
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for `profession` and `age` val profAge = m(Person.name.profession_(?).age_(?)) // Apply Seq of one or more value pairs, each matching both input attributes profAge(Seq(("doctor", 37))).get === List("Ann") profAge(Seq(("doctor", 37), ("teacher", 37))).get.sorted === List("Ann", "Ben")
- ins
Seq of value pairs, each matching both input attributes
- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
val
_model: Model
Internal Model representation of molecule.
Internal Model representation of molecule.
Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:
Custom DSL molecule --> Model --> Query --> Datomic query string- Definition Classes
- InputMolecule_2_03 → MoleculeBase
-
val
_nestedQuery: Option[Query]
Internal optional Query representation of nested molecule with added entity search for each level.
Internal optional Query representation of nested molecule with added entity search for each level.
Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:
Custom DSL molecule --> Model --> Query --> Datomic query string- Definition Classes
- InputMolecule_2_03 → MoleculeBase
-
val
_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 --> Datomic query string- Definition Classes
- InputMolecule_2_03 → MoleculeBase
-
val
_rawNestedQuery: Option[Query]
Internal un-optimized optional Query representation of nested molecule with added entity search for each level.
Internal un-optimized optional Query representation of nested molecule with added entity search for each level.
Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:
Custom DSL molecule --> Model --> Query --> Datomic query string- Definition Classes
- InputMolecule_2_03 → MoleculeBase
-
val
_rawQuery: Query
Internal un-optimized Query representation molecule.
Internal un-optimized Query representation molecule.
Molecule transforms custom boilerplate DSL constructs to Datomic queries in 3 steps:
Custom DSL molecule --> Model --> Query --> Datomic query string- Definition Classes
- InputMolecule_2_03 → MoleculeBase
-
def
addNilClause(clauses: Seq[Clause], e: Var, kw: KW, v0: Var): Seq[Clause]
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
apply(and: And2[I1, I2])(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying 2 expressions, one for each input attribute
Resolve input molecule by applying 2 expressions, one for each input attribute
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for `profession` and `age` val profAge = m(Person.name.profession_(?).age_(?)) // Apply 2 expressions, one for each input attribute // [profession-expression] and [age-expression] profAge("doctor" and 37).get === List("Ann") profAge(("doctor" or "teacher") and 37).get.sorted === List("Ann", "Ben") profAge(("doctor" or "teacher") and (32 or 28)).get.sorted === List("Joe", "Liz")
- and
First input expr
and
second input expr- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
-
def
apply(tpl: (I1, I2), tpls: (I1, I2)*)(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying one or more value pairs
Resolve input molecule by applying one or more value pairs
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for `profession` and `age` val profAge = m(Person.name.profession_(?).age_(?)) // Apply one or more value pairs, each matching both input attributes profAge(("doctor", 37)).get === List("Ann") profAge(("doctor", 37), ("teacher", 37)).get.sorted === List("Ann", "Ben")
- tpl
First pair of values matching both input attributes
- tpls
Optional more pairs of values matching both input attributes
- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
-
def
apply(or: Or2[I1, I2])(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying one or more pairs of expressions, each matching both input attributes
Resolve input molecule by applying one or more pairs of expressions, each matching both input attributes
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for `profession` and `age` val profAge = m(Person.name.profession_(?).age_(?)) // Apply two or more pair expressions, each matching both input attributes // [profession/age-expression] or [profession/age-expression] or ... profAge("doctor" and 37).get.sorted === List("Ann") profAge(("doctor" and 37) or ("teacher" and 32)).get.sorted === List("Ann", "Joe")
- or
Two or more pair-wise expressions separated by
or
- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
-
def
apply(i1: I1, i2: I2)(implicit conn: Conn): Molecule03[A, B, C]
Resolve input molecule by applying 2 input values as individual args
Resolve input molecule by applying 2 input values as individual args
// Sample data set Person.name.profession.age insert List( ("Ann", "doctor", 37), ("Ben", "teacher", 37), ("Joe", "teacher", 32), ("Liz", "teacher", 28) ) // Input molecule awaiting 2 inputs for `profession` and `age` val profAge = m(Person.name.profession_(?).age_(?)) // Apply 2 input values profAge("doctor", 37).get === List("Ann")
- i1
Input value matching first input attribute (profession: String)
- i2
Input value matching second input attribute (age: Int)
- conn
Implicit Conn in scope
- returns
Resolved molecule that can be queried
- Definition Classes
- InputMolecule_2_03 → InputMolecule_2
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
bindSeqs(query: Query, inputRaw1: Seq[I1], inputRaw2: Seq[I2]): Query
- Attributes
- protected
- Definition Classes
- InputMolecule_2
-
def
bindValues(query: Query, inputTuples: Seq[(I1, I2)]): Query
- Attributes
- protected
- Definition Classes
- InputMolecule_2
-
def
cardinality(nsFull: String, attr: String): Int
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
dataClause(e: String, kw: KW, enumPrefix: Option[String], arg: Any, i: Int): Seq[Clause]
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
deepNil(args: Seq[Any]): Boolean
- Attributes
- protected
- Definition Classes
- InputMolecule
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
isExpression(nsFull: String, attr: String): Boolean
- Attributes
- protected
- Definition Classes
- InputMolecule
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isTacit(nsFull: String, attr: String): Boolean
- Attributes
- protected
- Definition Classes
- InputMolecule
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
pre[T](enumPrefix: Option[String], arg: T): Any
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
resolveAnd2(and2: And2[I1, I2]): (Seq[I1], Seq[I2])
- Attributes
- protected
- Definition Classes
- InputMolecule_2
-
def
resolveInput[T](query: Query, ph: Placeholder, inputs: Seq[T], ruleName: String = "rule1", unifyRule: Boolean = false): Query
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
resolveOr[I1](or: Or[I1]): Seq[I1]
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
resolveOr2(or: Or2[I1, I2]): Seq[(I1, I2)]
- Attributes
- protected
- Definition Classes
- InputMolecule_2
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
valueClauses[TT](e: String, kw: KW, enumPrefix: Option[String], args: TT): Seq[Clause]
- Attributes
- protected
- Definition Classes
- InputMolecule
-
def
varsAndPrefixes(query: Query): Seq[(Var, String)]
- Attributes
- protected
- Definition Classes
- InputMolecule
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
Documentation/API for the Molecule library - a meta DSL for the Datomic database.
Manual | scalamolecule.org | Github | Forum