DataModelApi
molecule.base.api.DataModelApi
trait DataModelApi
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...
}
Attributes
- Source
- DataModelApi.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class DataModel
Members list
Grouped members
Options
sealed trait Options[Self, Tpe, BaseTpe] extends Requierable
Attribute options.
Attribute options.
Attributes
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
trait oneBigDecimalobject oneBigDecimal.typetrait oneBigIntobject oneBigInt.typetrait oneBooleanobject oneBoolean.typetrait oneByteobject oneByte.typetrait oneCharobject oneChar.typetrait oneDateobject oneDate.typetrait oneDoubleobject oneDouble.typetrait oneDurationobject oneDuration.typetrait oneFloatobject oneFloat.typetrait oneInstantobject oneInstant.typetrait oneIntobject oneInt.typetrait oneLocalDateobject oneLocalDate.typetrait oneLocalDateTimeobject oneLocalDateTime.typetrait oneLocalTimeobject oneLocalTime.typetrait oneLongobject oneLong.typetrait oneOffsetDateTimeobject oneOffsetDateTime.typetrait oneOffsetTimeobject oneOffsetTime.typetrait oneShortobject oneShort.typetrait oneURIobject oneURI.typetrait oneUUIDobject oneUUID.typetrait oneZonedDateTimeobject oneZonedDateTime.typetrait setBigDecimalobject setBigDecimal.typetrait setBigIntobject setBigInt.typetrait setBooleanobject setBoolean.typetrait setByteobject setByte.typetrait setCharobject setChar.typetrait setDateobject setDate.typetrait setDoubleobject setDouble.typetrait setDurationobject setDuration.typetrait setFloatobject setFloat.typetrait setInstantobject setInstant.typetrait setIntobject setInt.typetrait setLocalDateobject setLocalDate.typetrait setLocalDateTimeobject setLocalDateTime.typetrait setLocalTimeobject setLocalTime.typetrait setLongobject setLong.typetrait setOffsetDateTimeobject setOffsetDateTime.typetrait setOffsetTimeobject setOffsetTime.typetrait setShortobject setShort.typetrait setURIobject setURI.typetrait setUUIDobject setUUID.typetrait setZonedDateTimeobject setZonedDateTime.typetrait oneStringobject oneString.typetrait setStringobject setString.typeShow all
Type members
Classlikes
trait Requierable
Attributes
- Source
- DataModelApi.scala
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait oneBigDecimalobject oneBigDecimal.typetrait oneBigIntobject oneBigInt.typetrait oneBooleanobject oneBoolean.typetrait oneByteobject oneByte.typetrait oneCharobject oneChar.typetrait oneDateobject oneDate.typetrait oneDoubleobject oneDouble.typetrait oneDurationobject oneDuration.typetrait oneFloatobject oneFloat.typetrait oneInstantobject oneInstant.typetrait oneIntobject oneInt.typetrait oneLocalDateobject oneLocalDate.typetrait oneLocalDateTimeobject oneLocalDateTime.typetrait oneLocalTimeobject oneLocalTime.typetrait oneLongobject oneLong.typetrait oneOffsetDateTimeobject oneOffsetDateTime.typetrait oneOffsetTimeobject oneOffsetTime.typetrait oneShortobject oneShort.typetrait oneURIobject oneURI.typetrait oneUUIDobject oneUUID.typetrait oneZonedDateTimeobject oneZonedDateTime.typetrait setBigDecimalobject setBigDecimal.typetrait setBigIntobject setBigInt.typetrait setBooleanobject setBoolean.typetrait setByteobject setByte.typetrait setCharobject setChar.typetrait setDateobject setDate.typetrait setDoubleobject setDouble.typetrait setDurationobject setDuration.typetrait setFloatobject setFloat.typetrait setInstantobject setInstant.typetrait setIntobject setInt.typetrait setLocalDateobject setLocalDate.typetrait setLocalDateTimeobject setLocalDateTime.typetrait setLocalTimeobject setLocalTime.typetrait setLongobject setLong.typetrait setOffsetDateTimeobject setOffsetDateTime.typetrait setOffsetTimeobject setOffsetTime.typetrait setShortobject setShort.typetrait setURIobject setURI.typetrait setUUIDobject setUUID.typetrait setZonedDateTimeobject setZonedDateTime.typetrait oneStringobject oneString.typetrait setStringobject setString.typetrait refOptions[Self]trait manyobject many.typetrait oneobject one.typeShow all
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
many.type
trait many extends refOptions[many]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object many.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
one.type
trait one extends refOptions[one]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object one.type
object oneBigDecimal extends oneBigDecimal
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneBigDecimal.type
trait oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneBigDecimal.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneBigInt.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneBigInt.type
object oneBoolean extends oneBoolean
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneBoolean.type
trait oneBoolean extends Options[oneBoolean, Boolean, Boolean]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneBoolean.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneByte.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneByte.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneChar.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneChar.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneDate.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneDate.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneDouble.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneDouble.type
object oneDuration extends oneDuration
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneDuration.type
trait oneDuration extends Options[oneDuration, Duration, Duration]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneDuration.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneFloat.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneFloat.type
object oneInstant extends oneInstant
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneInstant.type
trait oneInstant extends Options[oneInstant, Instant, Instant]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneInstant.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneInt.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneInt.type
object oneLocalDate extends oneLocalDate
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneLocalDate.type
trait oneLocalDate extends Options[oneLocalDate, LocalDate, LocalDate]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneLocalDate.type
object oneLocalDateTime extends oneLocalDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneLocalDateTime.type
trait oneLocalDateTime extends Options[oneLocalDateTime, LocalDateTime, LocalDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneLocalDateTime.type
object oneLocalTime extends oneLocalTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneLocalTime.type
trait oneLocalTime extends Options[oneLocalTime, LocalTime, LocalTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneLocalTime.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneLong.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneLong.type
object oneOffsetDateTime extends oneOffsetDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneOffsetDateTime.type
trait oneOffsetDateTime extends Options[oneOffsetDateTime, OffsetDateTime, OffsetDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneOffsetDateTime.type
object oneOffsetTime extends oneOffsetTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneOffsetTime.type
trait oneOffsetTime extends Options[oneOffsetTime, OffsetTime, OffsetTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneOffsetTime.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneShort.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneShort.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneString.type
trait oneString extends stringOptions[oneString, String]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneString.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneURI.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneURI.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneUUID.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneUUID.type
object oneZonedDateTime extends oneZonedDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
oneZonedDateTime.type
trait oneZonedDateTime extends Options[oneZonedDateTime, ZonedDateTime, ZonedDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object oneZonedDateTime.type
trait refOptions[Self] extends Requierable
Attributes
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
object setBigDecimal extends setBigDecimal
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setBigDecimal.type
trait setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setBigDecimal.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setBigInt.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setBigInt.type
object setBoolean extends setBoolean
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setBoolean.type
trait setBoolean extends Options[setBoolean, Set[Boolean], Boolean]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setBoolean.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setByte.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setByte.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setChar.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setChar.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setDate.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setDate.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setDouble.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setDouble.type
object setDuration extends setDuration
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setDuration.type
trait setDuration extends Options[setDuration, Set[Duration], Duration]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setDuration.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setFloat.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setFloat.type
object setInstant extends setInstant
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setInstant.type
trait setInstant extends Options[setInstant, Set[Instant], Instant]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setInstant.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setInt.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setInt.type
object setLocalDate extends setLocalDate
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setLocalDate.type
trait setLocalDate extends Options[setLocalDate, Set[LocalDate], LocalDate]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setLocalDate.type
object setLocalDateTime extends setLocalDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setLocalDateTime.type
trait setLocalDateTime extends Options[setLocalDateTime, Set[LocalDateTime], LocalDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setLocalDateTime.type
object setLocalTime extends setLocalTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setLocalTime.type
trait setLocalTime extends Options[setLocalTime, Set[LocalTime], LocalTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setLocalTime.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setLong.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setLong.type
object setOffsetDateTime extends setOffsetDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setOffsetDateTime.type
trait setOffsetDateTime extends Options[setOffsetDateTime, Set[OffsetDateTime], OffsetDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setOffsetDateTime.type
object setOffsetTime extends setOffsetTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setOffsetTime.type
trait setOffsetTime extends Options[setOffsetTime, Set[OffsetTime], OffsetTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setOffsetTime.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setShort.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setShort.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setString.type
trait setString extends stringOptions[oneString, Set[String]]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setString.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setURI.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setURI.type
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setUUID.type
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setUUID.type
object setZonedDateTime extends setZonedDateTime
Attributes
- Companion
- trait
- Source
- DataModelApi.scala
- Supertypes
- Self type
-
setZonedDateTime.type
trait setZonedDateTime extends Options[setZonedDateTime, Set[ZonedDateTime], ZonedDateTime]
Attributes
- Companion
- object
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
-
object setZonedDateTime.type
trait stringOptions[Self, Tpe] extends Options[Self, Tpe, String]
Attributes
- Source
- DataModelApi.scala
- Supertypes
- Known subtypes
In this article