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 many extends refOptions[many]
  4. trait one extends refOptions[one]
  5. trait oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal]
  6. trait oneBigInt extends Options[oneBigInt, BigInt, BigInt]
  7. trait oneBoolean extends Options[oneBoolean, Boolean, Boolean]
  8. trait oneByte extends Options[oneByte, Byte, Byte]
  9. trait oneChar extends Options[oneChar, Char, Char]
  10. trait oneDate extends Options[oneDate, Date, Date]
  11. trait oneDouble extends Options[oneDouble, Double, Double]
  12. trait oneDuration extends Options[oneDuration, Duration, Duration]
  13. trait oneFloat extends Options[oneFloat, Float, Float]
  14. trait oneInstant extends Options[oneInstant, Instant, Instant]
  15. trait oneInt extends Options[oneInt, Int, Int]
  16. trait oneLocalDate extends Options[oneLocalDate, LocalDate, LocalDate]
  17. trait oneLocalDateTime extends Options[oneLocalDateTime, LocalDateTime, LocalDateTime]
  18. trait oneLocalTime extends Options[oneLocalTime, LocalTime, LocalTime]
  19. trait oneLong extends Options[oneLong, Long, Long]
  20. trait oneOffsetDateTime extends Options[oneOffsetDateTime, OffsetDateTime, OffsetDateTime]
  21. trait oneOffsetTime extends Options[oneOffsetTime, OffsetTime, OffsetTime]
  22. trait oneShort extends Options[oneShort, Short, Short]
  23. trait oneString extends stringOptions[oneString, String]
  24. trait oneURI extends Options[oneURI, URI, URI]
  25. trait oneUUID extends Options[oneUUID, UUID, UUID]
  26. trait oneZonedDateTime extends Options[oneZonedDateTime, ZonedDateTime, ZonedDateTime]
  27. trait refOptions[Self] extends Requierable
  28. trait setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal]
  29. trait setBigInt extends Options[setBigInt, Set[BigInt], BigInt]
  30. trait setBoolean extends Options[setBoolean, Set[Boolean], Boolean]
  31. trait setByte extends Options[setByte, Set[Byte], Byte]
  32. trait setChar extends Options[setChar, Set[Char], Char]
  33. trait setDate extends Options[setDate, Set[Date], Date]
  34. trait setDouble extends Options[setDouble, Set[Double], Double]
  35. trait setDuration extends Options[setDuration, Set[Duration], Duration]
  36. trait setFloat extends Options[setFloat, Set[Float], Float]
  37. trait setInstant extends Options[setInstant, Set[Instant], Instant]
  38. trait setInt extends Options[setInt, Set[Int], Int]
  39. trait setLocalDate extends Options[setLocalDate, Set[LocalDate], LocalDate]
  40. trait setLocalDateTime extends Options[setLocalDateTime, Set[LocalDateTime], LocalDateTime]
  41. trait setLocalTime extends Options[setLocalTime, Set[LocalTime], LocalTime]
  42. trait setLong extends Options[setLong, Set[Long], Long]
  43. trait setOffsetDateTime extends Options[setOffsetDateTime, Set[OffsetDateTime], OffsetDateTime]
  44. trait setOffsetTime extends Options[setOffsetTime, Set[OffsetTime], OffsetTime]
  45. trait setShort extends Options[setShort, Set[Short], Short]
  46. trait setString extends stringOptions[oneString, Set[String]]
  47. trait setURI extends Options[setURI, Set[URI], URI]
  48. trait setUUID extends Options[setUUID, Set[UUID], UUID]
  49. trait setZonedDateTime extends Options[setZonedDateTime, Set[ZonedDateTime], ZonedDateTime]
  50. 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 many extends many
  20. object one extends one
  21. object oneBigDecimal extends oneBigDecimal
  22. object oneBigInt extends oneBigInt
  23. object oneBoolean extends oneBoolean
  24. object oneByte extends oneByte
  25. object oneChar extends oneChar
  26. object oneDate extends oneDate
  27. object oneDouble extends oneDouble
  28. object oneDuration extends oneDuration
  29. object oneFloat extends oneFloat
  30. object oneInstant extends oneInstant
  31. object oneInt extends oneInt
  32. object oneLocalDate extends oneLocalDate
  33. object oneLocalDateTime extends oneLocalDateTime
  34. object oneLocalTime extends oneLocalTime
  35. object oneLong extends oneLong
  36. object oneOffsetDateTime extends oneOffsetDateTime
  37. object oneOffsetTime extends oneOffsetTime
  38. object oneShort extends oneShort
  39. object oneString extends oneString
  40. object oneURI extends oneURI
  41. object oneUUID extends oneUUID
  42. object oneZonedDateTime extends oneZonedDateTime
  43. object setBigDecimal extends setBigDecimal
  44. object setBigInt extends setBigInt
  45. object setBoolean extends setBoolean
  46. object setByte extends setByte
  47. object setChar extends setChar
  48. object setDate extends setDate
  49. object setDouble extends setDouble
  50. object setDuration extends setDuration
  51. object setFloat extends setFloat
  52. object setInstant extends setInstant
  53. object setInt extends setInt
  54. object setLocalDate extends setLocalDate
  55. object setLocalDateTime extends setLocalDateTime
  56. object setLocalTime extends setLocalTime
  57. object setLong extends setLong
  58. object setOffsetDateTime extends setOffsetDateTime
  59. object setOffsetTime extends setOffsetTime
  60. object setShort extends setShort
  61. object setString extends setString
  62. object setURI extends setURI
  63. object setUUID extends setUUID
  64. 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