Packages

t

molecule.base.api

DataModelApi

trait DataModelApi extends AnyRef

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
DataModelApi.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. DataModelApi
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

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

    Attribute options.

  2. trait Requierable extends AnyRef
  3. trait Validations[Self, BaseTpe] extends AnyRef
  4. trait arrayByte extends Options[arrayByte, Seq[Byte], Byte] with Validations[oneByte, Byte]
  5. trait many extends refOptions[many]
  6. trait mapBigDecimal extends Options[mapBigDecimal, Map[String, BigDecimal], BigDecimal]
  7. trait mapBigInt extends Options[mapBigInt, Map[String, BigInt], BigInt]
  8. trait mapBoolean extends Options[mapBoolean, Map[String, Boolean], Boolean]
  9. trait mapByte extends Options[mapByte, Map[String, Byte], Byte]
  10. trait mapChar extends Options[mapChar, Map[String, Char], Char]
  11. trait mapDate extends Options[mapDate, Map[String, Date], Date]
  12. trait mapDouble extends Options[mapDouble, Map[String, Double], Double]
  13. trait mapDuration extends Options[mapDuration, Map[String, Duration], Duration]
  14. trait mapFloat extends Options[mapFloat, Map[String, Float], Float]
  15. trait mapInstant extends Options[mapInstant, Map[String, Instant], Instant]
  16. trait mapInt extends Options[mapInt, Map[String, Int], Int]
  17. trait mapLocalDate extends Options[mapLocalDate, Map[String, LocalDate], LocalDate]
  18. trait mapLocalDateTime extends Options[mapLocalDateTime, Map[String, LocalDateTime], LocalDateTime]
  19. trait mapLocalTime extends Options[mapLocalTime, Map[String, LocalTime], LocalTime]
  20. trait mapLong extends Options[mapLong, Map[String, Long], Long]
  21. trait mapOffsetDateTime extends Options[mapOffsetDateTime, Map[String, OffsetDateTime], OffsetDateTime]
  22. trait mapOffsetTime extends Options[mapOffsetTime, Map[String, OffsetTime], OffsetTime]
  23. trait mapShort extends Options[mapShort, Map[String, Short], Short]
  24. trait mapString extends stringOptions[mapString, Map[String, String]]
  25. trait mapURI extends Options[mapURI, Map[String, URI], URI]
  26. trait mapUUID extends Options[mapUUID, Map[String, UUID], UUID]
  27. trait mapZonedDateTime extends Options[mapZonedDateTime, Map[String, ZonedDateTime], ZonedDateTime]
  28. trait one extends refOptions[one]
  29. trait oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal] with Validations[oneBigDecimal, BigDecimal]
  30. trait oneBigInt extends Options[oneBigInt, BigInt, BigInt] with Validations[oneBigInt, BigInt]
  31. trait oneBoolean extends Options[oneBoolean, Boolean, Boolean] with Validations[oneBoolean, Boolean]
  32. trait oneByte extends Options[oneByte, Byte, Byte] with Validations[oneByte, Byte]
  33. trait oneChar extends Options[oneChar, Char, Char] with Validations[oneChar, Char]
  34. trait oneDate extends Options[oneDate, Date, Date] with Validations[oneDate, Date]
  35. trait oneDouble extends Options[oneDouble, Double, Double] with Validations[oneDouble, Double]
  36. trait oneDuration extends Options[oneDuration, Duration, Duration] with Validations[oneDuration, Duration]
  37. trait oneFloat extends Options[oneFloat, Float, Float] with Validations[oneFloat, Float]
  38. trait oneInstant extends Options[oneInstant, Instant, Instant] with Validations[oneInstant, Instant]
  39. trait oneInt extends Options[oneInt, Int, Int] with Validations[oneInt, Int]
  40. trait oneLocalDate extends Options[oneLocalDate, LocalDate, LocalDate] with Validations[oneLocalDate, LocalDate]
  41. trait oneLocalDateTime extends Options[oneLocalDateTime, LocalDateTime, LocalDateTime] with Validations[oneLocalDateTime, LocalDateTime]
  42. trait oneLocalTime extends Options[oneLocalTime, LocalTime, LocalTime] with Validations[oneLocalTime, LocalTime]
  43. trait oneLong extends Options[oneLong, Long, Long] with Validations[oneLong, Long]
  44. trait oneOffsetDateTime extends Options[oneOffsetDateTime, OffsetDateTime, OffsetDateTime] with Validations[oneOffsetDateTime, OffsetDateTime]
  45. trait oneOffsetTime extends Options[oneOffsetTime, OffsetTime, OffsetTime] with Validations[oneOffsetTime, OffsetTime]
  46. trait oneShort extends Options[oneShort, Short, Short] with Validations[oneShort, Short]
  47. trait oneString extends stringOptions[oneString, String] with Validations[oneString, String]
  48. trait oneURI extends Options[oneURI, URI, URI] with Validations[oneURI, URI]
  49. trait oneUUID extends Options[oneUUID, UUID, UUID] with Validations[oneUUID, UUID]
  50. trait oneZonedDateTime extends Options[oneZonedDateTime, ZonedDateTime, ZonedDateTime] with Validations[oneZonedDateTime, ZonedDateTime]
  51. trait refOptions[Self] extends Requierable
  52. trait seqBigDecimal extends Options[seqBigDecimal, Seq[BigDecimal], BigDecimal] with Validations[oneBigDecimal, BigDecimal]
  53. trait seqBigInt extends Options[seqBigInt, Seq[BigInt], BigInt] with Validations[oneBigInt, BigInt]
  54. trait seqBoolean extends Options[seqBoolean, Seq[Boolean], Boolean] with Validations[oneBoolean, Boolean]
  55. trait seqChar extends Options[seqChar, Seq[Char], Char] with Validations[oneChar, Char]
  56. trait seqDate extends Options[seqDate, Seq[Date], Date] with Validations[oneDate, Date]
  57. trait seqDouble extends Options[seqDouble, Seq[Double], Double] with Validations[oneDouble, Double]
  58. trait seqDuration extends Options[seqDuration, Seq[Duration], Duration] with Validations[oneDuration, Duration]
  59. trait seqFloat extends Options[seqFloat, Seq[Float], Float] with Validations[oneFloat, Float]
  60. trait seqInstant extends Options[seqInstant, Seq[Instant], Instant] with Validations[oneInstant, Instant]
  61. trait seqInt extends Options[seqInt, Seq[Int], Int] with Validations[oneInt, Int]
  62. trait seqLocalDate extends Options[seqLocalDate, Seq[LocalDate], LocalDate] with Validations[oneLocalDate, LocalDate]
  63. trait seqLocalDateTime extends Options[seqLocalDateTime, Seq[LocalDateTime], LocalDateTime] with Validations[oneLocalDateTime, LocalDateTime]
  64. trait seqLocalTime extends Options[seqLocalTime, Seq[LocalTime], LocalTime] with Validations[oneLocalTime, LocalTime]
  65. trait seqLong extends Options[seqLong, Seq[Long], Long] with Validations[oneLong, Long]
  66. trait seqOffsetDateTime extends Options[seqOffsetDateTime, Seq[OffsetDateTime], OffsetDateTime] with Validations[oneOffsetDateTime, OffsetDateTime]
  67. trait seqOffsetTime extends Options[seqOffsetTime, Seq[OffsetTime], OffsetTime] with Validations[oneOffsetTime, OffsetTime]
  68. trait seqShort extends Options[seqShort, Seq[Short], Short] with Validations[oneShort, Short]
  69. trait seqString extends stringOptions[seqString, Seq[String]] with Validations[oneString, String]
  70. trait seqURI extends Options[seqURI, Seq[URI], URI] with Validations[oneURI, URI]
  71. trait seqUUID extends Options[seqUUID, Seq[UUID], UUID] with Validations[oneUUID, UUID]
  72. trait seqZonedDateTime extends Options[seqZonedDateTime, Seq[ZonedDateTime], ZonedDateTime] with Validations[oneZonedDateTime, ZonedDateTime]
  73. trait setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal] with Validations[oneBigDecimal, BigDecimal]
  74. trait setBigInt extends Options[setBigInt, Set[BigInt], BigInt] with Validations[oneBigInt, BigInt]
  75. trait setBoolean extends Options[setBoolean, Set[Boolean], Boolean] with Validations[oneBoolean, Boolean]
  76. trait setByte extends Options[setByte, Set[Byte], Byte] with Validations[oneByte, Byte]
  77. trait setChar extends Options[setChar, Set[Char], Char] with Validations[oneChar, Char]
  78. trait setDate extends Options[setDate, Set[Date], Date] with Validations[oneDate, Date]
  79. trait setDouble extends Options[setDouble, Set[Double], Double] with Validations[oneDouble, Double]
  80. trait setDuration extends Options[setDuration, Set[Duration], Duration] with Validations[oneDuration, Duration]
  81. trait setFloat extends Options[setFloat, Set[Float], Float] with Validations[oneFloat, Float]
  82. trait setInstant extends Options[setInstant, Set[Instant], Instant] with Validations[oneInstant, Instant]
  83. trait setInt extends Options[setInt, Set[Int], Int] with Validations[oneInt, Int]
  84. trait setLocalDate extends Options[setLocalDate, Set[LocalDate], LocalDate] with Validations[oneLocalDate, LocalDate]
  85. trait setLocalDateTime extends Options[setLocalDateTime, Set[LocalDateTime], LocalDateTime] with Validations[oneLocalDateTime, LocalDateTime]
  86. trait setLocalTime extends Options[setLocalTime, Set[LocalTime], LocalTime] with Validations[oneLocalTime, LocalTime]
  87. trait setLong extends Options[setLong, Set[Long], Long] with Validations[oneLong, Long]
  88. trait setOffsetDateTime extends Options[setOffsetDateTime, Set[OffsetDateTime], OffsetDateTime] with Validations[oneOffsetDateTime, OffsetDateTime]
  89. trait setOffsetTime extends Options[setOffsetTime, Set[OffsetTime], OffsetTime] with Validations[oneOffsetTime, OffsetTime]
  90. trait setShort extends Options[setShort, Set[Short], Short] with Validations[oneShort, Short]
  91. trait setString extends stringOptions[setString, Set[String]] with Validations[oneString, String]
  92. trait setURI extends Options[setURI, Set[URI], URI] with Validations[oneURI, URI]
  93. trait setUUID extends Options[setUUID, Set[UUID], UUID] with Validations[oneUUID, UUID]
  94. trait setZonedDateTime extends Options[setZonedDateTime, Set[ZonedDateTime], ZonedDateTime] with Validations[oneZonedDateTime, ZonedDateTime]
  95. trait stringOptions[Self, Tpe] extends Options[Self, Tpe, String]

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. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  14. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  19. object arrayByte extends arrayByte
  20. object many extends many
  21. object mapBigDecimal extends mapBigDecimal
  22. object mapBigInt extends mapBigInt
  23. object mapBoolean extends mapBoolean
  24. object mapByte extends mapByte
  25. object mapChar extends mapChar
  26. object mapDate extends mapDate
  27. object mapDouble extends mapDouble
  28. object mapDuration extends mapDuration
  29. object mapFloat extends mapFloat
  30. object mapInstant extends mapInstant
  31. object mapInt extends mapInt
  32. object mapLocalDate extends mapLocalDate
  33. object mapLocalDateTime extends mapLocalDateTime
  34. object mapLocalTime extends mapLocalTime
  35. object mapLong extends mapLong
  36. object mapOffsetDateTime extends mapOffsetDateTime
  37. object mapOffsetTime extends mapOffsetTime
  38. object mapShort extends mapShort
  39. object mapString extends mapString
  40. object mapURI extends mapURI
  41. object mapUUID extends mapUUID
  42. object mapZonedDateTime extends mapZonedDateTime
  43. object one extends one
  44. object oneBigDecimal extends oneBigDecimal
  45. object oneBigInt extends oneBigInt
  46. object oneBoolean extends oneBoolean
  47. object oneByte extends oneByte
  48. object oneChar extends oneChar
  49. object oneDate extends oneDate
  50. object oneDouble extends oneDouble
  51. object oneDuration extends oneDuration
  52. object oneFloat extends oneFloat
  53. object oneInstant extends oneInstant
  54. object oneInt extends oneInt
  55. object oneLocalDate extends oneLocalDate
  56. object oneLocalDateTime extends oneLocalDateTime
  57. object oneLocalTime extends oneLocalTime
  58. object oneLong extends oneLong
  59. object oneOffsetDateTime extends oneOffsetDateTime
  60. object oneOffsetTime extends oneOffsetTime
  61. object oneShort extends oneShort
  62. object oneString extends oneString
  63. object oneURI extends oneURI
  64. object oneUUID extends oneUUID
  65. object oneZonedDateTime extends oneZonedDateTime
  66. object seqBigDecimal extends seqBigDecimal
  67. object seqBigInt extends seqBigInt
  68. object seqBoolean extends seqBoolean
  69. object seqChar extends seqChar
  70. object seqDate extends seqDate
  71. object seqDouble extends seqDouble
  72. object seqDuration extends seqDuration
  73. object seqFloat extends seqFloat
  74. object seqInstant extends seqInstant
  75. object seqInt extends seqInt
  76. object seqLocalDate extends seqLocalDate
  77. object seqLocalDateTime extends seqLocalDateTime
  78. object seqLocalTime extends seqLocalTime
  79. object seqLong extends seqLong
  80. object seqOffsetDateTime extends seqOffsetDateTime
  81. object seqOffsetTime extends seqOffsetTime
  82. object seqShort extends seqShort
  83. object seqString extends seqString
  84. object seqURI extends seqURI
  85. object seqUUID extends seqUUID
  86. object seqZonedDateTime extends seqZonedDateTime
  87. object setBigDecimal extends setBigDecimal
  88. object setBigInt extends setBigInt
  89. object setBoolean extends setBoolean
  90. object setByte extends setByte
  91. object setChar extends setChar
  92. object setDate extends setDate
  93. object setDouble extends setDouble
  94. object setDuration extends setDuration
  95. object setFloat extends setFloat
  96. object setInstant extends setInstant
  97. object setInt extends setInt
  98. object setLocalDate extends setLocalDate
  99. object setLocalDateTime extends setLocalDateTime
  100. object setLocalTime extends setLocalTime
  101. object setLong extends setLong
  102. object setOffsetDateTime extends setOffsetDateTime
  103. object setOffsetTime extends setOffsetTime
  104. object setShort extends setShort
  105. object setString extends setString
  106. object setURI extends setURI
  107. object setUUID extends setUUID
  108. object setZonedDateTime extends setZonedDateTime

Deprecated Value Members

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

Inherited from AnyRef

Inherited from Any

Options

Ungrouped