Packages

c

molecule

DataModel

case class DataModel(maxArity: Int) extends DataModelApi with Product with Serializable

Data Model DSL.

Define a Domain Data Model in a data model file.

For small projects, the schema can be defined without partition definitions where all namespaces reside in a default tacit partition:

package path.to.your.project
import molecule.data.model._       // import data model DSL

object Seattle extends DataModel(8) {  // data model object with input/output arity

  trait Person {                   // Namespace
    val name = oneString.fulltext  // String attribute definition with fulltext search
    val age  = oneInt              // Int attribute definition
  }

  // Additional namespaces...
}

For larger projects, it is recommended to group namespaces in partitions:

package path.to.your.project
import molecule.data.model._

object Seattle extends DataModel(15) {

  object customer {
    trait Person {
      val name    = oneString.fulltext
      val age     = oneInt
      val address = one[Address]
      val bought  = many[products.Item]
    }
    trait Address {
      val street = oneString.fulltext
      val city   = oneInt
    }
    // ..more namespaces in the `customer` partition
  }

  object products {
    trait Item {
      val title   = oneString
      val inStock = oneInt
    }
    // ..more namespaces in the `products` partition
  }

  // Additional partitions...
}
Source
DataModel.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, DataModelApi, AnyRef, Any
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. DataModel
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. DataModelApi
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new DataModel(maxArity: Int)

Type Members

  1. sealed trait Options[Self, Tpe, BaseTpe] extends AnyRef

    Attribute options.

    Attribute options.

    Definition Classes
    DataModelApi
  2. trait many extends refOptions[many, Set[Long]]
    Definition Classes
    DataModelApi
  3. trait one extends refOptions[one, Long]
    Definition Classes
    DataModelApi
  4. trait oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal]
    Definition Classes
    DataModelApi
  5. trait oneBigInt extends Options[oneBigInt, BigInt, BigInt]
    Definition Classes
    DataModelApi
  6. trait oneBoolean extends Options[oneBoolean, Boolean, Boolean]
    Definition Classes
    DataModelApi
  7. trait oneByte extends Options[oneByte, Byte, Byte]
    Definition Classes
    DataModelApi
  8. trait oneChar extends Options[oneChar, Char, Char]
    Definition Classes
    DataModelApi
  9. trait oneDate extends Options[oneDate, Date, Date]
    Definition Classes
    DataModelApi
  10. trait oneDouble extends Options[oneDouble, Double, Double]
    Definition Classes
    DataModelApi
  11. trait oneFloat extends Options[oneFloat, Float, Float]
    Definition Classes
    DataModelApi
  12. trait oneInt extends Options[oneInt, Int, Int]
    Definition Classes
    DataModelApi
  13. trait oneLong extends Options[oneLong, Long, Long]
    Definition Classes
    DataModelApi
  14. trait oneShort extends Options[oneShort, Short, Short]
    Definition Classes
    DataModelApi
  15. trait oneString extends stringOptions[oneString, String]
    Definition Classes
    DataModelApi
  16. trait oneURI extends Options[oneURI, URI, URI]
    Definition Classes
    DataModelApi
  17. trait oneUUID extends Options[oneUUID, UUID, UUID]
    Definition Classes
    DataModelApi
  18. trait refOptions[Self, Tpe] extends Options[Self, Tpe, Long]
    Definition Classes
    DataModelApi
  19. trait setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal]
    Definition Classes
    DataModelApi
  20. trait setBigInt extends Options[setBigInt, Set[BigInt], BigInt]
    Definition Classes
    DataModelApi
  21. trait setBoolean extends Options[setBoolean, Set[Boolean], Boolean]
    Definition Classes
    DataModelApi
  22. trait setByte extends Options[setByte, Set[Byte], Byte]
    Definition Classes
    DataModelApi
  23. trait setChar extends Options[setChar, Set[Char], Char]
    Definition Classes
    DataModelApi
  24. trait setDate extends Options[setDate, Set[Date], Date]
    Definition Classes
    DataModelApi
  25. trait setDouble extends Options[setDouble, Set[Double], Double]
    Definition Classes
    DataModelApi
  26. trait setFloat extends Options[setFloat, Set[Float], Float]
    Definition Classes
    DataModelApi
  27. trait setInt extends Options[setInt, Set[Int], Int]
    Definition Classes
    DataModelApi
  28. trait setLong extends Options[setLong, Set[Long], Long]
    Definition Classes
    DataModelApi
  29. trait setShort extends Options[setShort, Set[Short], Short]
    Definition Classes
    DataModelApi
  30. trait setString extends stringOptions[oneString, Set[String]]
    Definition Classes
    DataModelApi
  31. trait setURI extends Options[setURI, Set[URI], URI]
    Definition Classes
    DataModelApi
  32. trait setUUID extends Options[setUUID, Set[UUID], UUID]
    Definition Classes
    DataModelApi
  33. trait stringOptions[Self, Tpe] extends Options[Self, Tpe, String]
    Definition Classes
    DataModelApi

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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @IntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  8. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  9. val maxArity: Int
  10. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  12. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  14. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  16. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. object many extends many
    Definition Classes
    DataModelApi
  18. object one extends one
    Definition Classes
    DataModelApi
  19. object oneBigDecimal extends oneBigDecimal
    Definition Classes
    DataModelApi
  20. object oneBigInt extends oneBigInt
    Definition Classes
    DataModelApi
  21. object oneBoolean extends oneBoolean
    Definition Classes
    DataModelApi
  22. object oneByte extends oneByte
    Definition Classes
    DataModelApi
  23. object oneChar extends oneChar
    Definition Classes
    DataModelApi
  24. object oneDate extends oneDate
    Definition Classes
    DataModelApi
  25. object oneDouble extends oneDouble
    Definition Classes
    DataModelApi
  26. object oneFloat extends oneFloat
    Definition Classes
    DataModelApi
  27. object oneInt extends oneInt
    Definition Classes
    DataModelApi
  28. object oneLong extends oneLong
    Definition Classes
    DataModelApi
  29. object oneShort extends oneShort
    Definition Classes
    DataModelApi
  30. object oneString extends oneString
    Definition Classes
    DataModelApi
  31. object oneURI extends oneURI
    Definition Classes
    DataModelApi
  32. object oneUUID extends oneUUID
    Definition Classes
    DataModelApi
  33. object setBigDecimal extends setBigDecimal
    Definition Classes
    DataModelApi
  34. object setBigInt extends setBigInt
    Definition Classes
    DataModelApi
  35. object setBoolean extends setBoolean
    Definition Classes
    DataModelApi
  36. object setByte extends setByte
    Definition Classes
    DataModelApi
  37. object setChar extends setChar
    Definition Classes
    DataModelApi
  38. object setDate extends setDate
    Definition Classes
    DataModelApi
  39. object setDouble extends setDouble
    Definition Classes
    DataModelApi
  40. object setFloat extends setFloat
    Definition Classes
    DataModelApi
  41. object setInt extends setInt
    Definition Classes
    DataModelApi
  42. object setLong extends setLong
    Definition Classes
    DataModelApi
  43. object setShort extends setShort
    Definition Classes
    DataModelApi
  44. object setString extends setString
    Definition Classes
    DataModelApi
  45. object setURI extends setURI
    Definition Classes
    DataModelApi
  46. object setUUID extends setUUID
    Definition Classes
    DataModelApi

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from DataModelApi

Inherited from AnyRef

Inherited from Any

Options

Ungrouped