DataModelApi

molecule.base.api.DataModelApi$
See theDataModelApi companion trait
object DataModelApi extends 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

Companion
trait
Source
DataModelApi.scala
Graph
Supertypes
trait DataModelApi
class Object
trait Matchable
class Any
Self type

Members list

Grouped members

Options

sealed trait Options[Self, Tpe, BaseTpe]

Attribute options.

Attribute options.

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object oneBigDecimal.type
trait oneBigInt
object oneBigInt.type
trait oneBoolean
object oneBoolean.type
trait oneByte
object oneByte.type
trait oneChar
object oneChar.type
trait oneDate
object oneDate.type
trait oneDouble
object oneDouble.type
trait oneFloat
object oneFloat.type
trait oneInt
object oneInt.type
trait oneLong
object oneLong.type
trait oneShort
object oneShort.type
trait oneURI
object oneURI.type
trait oneUUID
object oneUUID.type
trait refOptions[Self, Tpe]
trait many
object many.type
trait one
object one.type
object setBigDecimal.type
trait setBigInt
object setBigInt.type
trait setBoolean
object setBoolean.type
trait setByte
object setByte.type
trait setChar
object setChar.type
trait setDate
object setDate.type
trait setDouble
object setDouble.type
trait setFloat
object setFloat.type
trait setInt
object setInt.type
trait setLong
object setLong.type
trait setShort
object setShort.type
trait setURI
object setURI.type
trait setUUID
object setUUID.type
trait stringOptions[Self, Tpe]
trait oneString
object oneString.type
trait setString
object setString.type
Show all

Type members

Inherited classlikes

object many extends many

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait many
trait refOptions[many, Set[Long]]
trait Options[many, Set[Long], Long]
class Object
trait Matchable
class Any
Show all
trait many extends refOptions[many, Set[Long]]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait refOptions[many, Set[Long]]
trait Options[many, Set[Long], Long]
class Object
trait Matchable
class Any
Known subtypes
object many.type
object one extends one

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait one
trait refOptions[one, Long]
trait Options[one, Long, Long]
class Object
trait Matchable
class Any
Show all
trait one extends refOptions[one, Long]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait refOptions[one, Long]
trait Options[one, Long, Long]
class Object
trait Matchable
class Any
Known subtypes
object one.type
object oneBigDecimal extends oneBigDecimal

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneBigDecimal, BigDecimal, BigDecimal]
class Object
trait Matchable
class Any
trait oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneBigDecimal, BigDecimal, BigDecimal]
class Object
trait Matchable
class Any
Known subtypes
object oneBigDecimal.type
object oneBigInt extends oneBigInt

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneBigInt
trait Options[oneBigInt, BigInt, BigInt]
class Object
trait Matchable
class Any
trait oneBigInt extends Options[oneBigInt, BigInt, BigInt]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneBigInt, BigInt, BigInt]
class Object
trait Matchable
class Any
Known subtypes
object oneBigInt.type
object oneBoolean extends oneBoolean

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneBoolean
trait Options[oneBoolean, Boolean, Boolean]
class Object
trait Matchable
class Any
trait oneBoolean extends Options[oneBoolean, Boolean, Boolean]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneBoolean, Boolean, Boolean]
class Object
trait Matchable
class Any
Known subtypes
object oneBoolean.type
object oneByte extends oneByte

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneByte
trait Options[oneByte, Byte, Byte]
class Object
trait Matchable
class Any
trait oneByte extends Options[oneByte, Byte, Byte]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneByte, Byte, Byte]
class Object
trait Matchable
class Any
Known subtypes
object oneByte.type
object oneChar extends oneChar

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneChar
trait Options[oneChar, Char, Char]
class Object
trait Matchable
class Any
trait oneChar extends Options[oneChar, Char, Char]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneChar, Char, Char]
class Object
trait Matchable
class Any
Known subtypes
object oneChar.type
object oneDate extends oneDate

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneDate
trait Options[oneDate, Date, Date]
class Object
trait Matchable
class Any
trait oneDate extends Options[oneDate, Date, Date]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneDate, Date, Date]
class Object
trait Matchable
class Any
Known subtypes
object oneDate.type
object oneDouble extends oneDouble

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneDouble
trait Options[oneDouble, Double, Double]
class Object
trait Matchable
class Any
trait oneDouble extends Options[oneDouble, Double, Double]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneDouble, Double, Double]
class Object
trait Matchable
class Any
Known subtypes
object oneDouble.type
object oneFloat extends oneFloat

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneFloat
trait Options[oneFloat, Float, Float]
class Object
trait Matchable
class Any
trait oneFloat extends Options[oneFloat, Float, Float]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneFloat, Float, Float]
class Object
trait Matchable
class Any
Known subtypes
object oneFloat.type
object oneInt extends oneInt

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneInt
trait Options[oneInt, Int, Int]
class Object
trait Matchable
class Any
trait oneInt extends Options[oneInt, Int, Int]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneInt, Int, Int]
class Object
trait Matchable
class Any
Known subtypes
object oneInt.type
object oneLong extends oneLong

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneLong
trait Options[oneLong, Long, Long]
class Object
trait Matchable
class Any
trait oneLong extends Options[oneLong, Long, Long]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneLong, Long, Long]
class Object
trait Matchable
class Any
Known subtypes
object oneLong.type
object oneShort extends oneShort

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneShort
trait Options[oneShort, Short, Short]
class Object
trait Matchable
class Any
trait oneShort extends Options[oneShort, Short, Short]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneShort, Short, Short]
class Object
trait Matchable
class Any
Known subtypes
object oneShort.type
object oneString extends oneString

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneString
trait stringOptions[oneString, String]
trait Options[oneString, String, String]
class Object
trait Matchable
class Any
Show all
trait oneString extends stringOptions[oneString, String]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait stringOptions[oneString, String]
trait Options[oneString, String, String]
class Object
trait Matchable
class Any
Known subtypes
object oneString.type
object oneURI extends oneURI

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneURI
trait Options[oneURI, URI, URI]
class Object
trait Matchable
class Any
trait oneURI extends Options[oneURI, URI, URI]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneURI, URI, URI]
class Object
trait Matchable
class Any
Known subtypes
object oneURI.type
object oneUUID extends oneUUID

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait oneUUID
trait Options[oneUUID, UUID, UUID]
class Object
trait Matchable
class Any
trait oneUUID extends Options[oneUUID, UUID, UUID]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[oneUUID, UUID, UUID]
class Object
trait Matchable
class Any
Known subtypes
object oneUUID.type
trait refOptions[Self, Tpe] extends Options[Self, Tpe, Long]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[Self, Tpe, Long]
class Object
trait Matchable
class Any
Known subtypes
trait many
object many.type
trait one
object one.type
object setBigDecimal extends setBigDecimal

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setBigDecimal, Set[BigDecimal], BigDecimal]
class Object
trait Matchable
class Any
trait setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setBigDecimal, Set[BigDecimal], BigDecimal]
class Object
trait Matchable
class Any
Known subtypes
object setBigDecimal.type
object setBigInt extends setBigInt

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setBigInt
trait Options[setBigInt, Set[BigInt], BigInt]
class Object
trait Matchable
class Any
trait setBigInt extends Options[setBigInt, Set[BigInt], BigInt]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setBigInt, Set[BigInt], BigInt]
class Object
trait Matchable
class Any
Known subtypes
object setBigInt.type
object setBoolean extends setBoolean

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setBoolean
trait Options[setBoolean, Set[Boolean], Boolean]
class Object
trait Matchable
class Any
trait setBoolean extends Options[setBoolean, Set[Boolean], Boolean]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setBoolean, Set[Boolean], Boolean]
class Object
trait Matchable
class Any
Known subtypes
object setBoolean.type
object setByte extends setByte

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setByte
trait Options[setByte, Set[Byte], Byte]
class Object
trait Matchable
class Any
trait setByte extends Options[setByte, Set[Byte], Byte]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setByte, Set[Byte], Byte]
class Object
trait Matchable
class Any
Known subtypes
object setByte.type
object setChar extends setChar

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setChar
trait Options[setChar, Set[Char], Char]
class Object
trait Matchable
class Any
trait setChar extends Options[setChar, Set[Char], Char]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setChar, Set[Char], Char]
class Object
trait Matchable
class Any
Known subtypes
object setChar.type
object setDate extends setDate

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setDate
trait Options[setDate, Set[Date], Date]
class Object
trait Matchable
class Any
trait setDate extends Options[setDate, Set[Date], Date]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setDate, Set[Date], Date]
class Object
trait Matchable
class Any
Known subtypes
object setDate.type
object setDouble extends setDouble

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setDouble
trait Options[setDouble, Set[Double], Double]
class Object
trait Matchable
class Any
trait setDouble extends Options[setDouble, Set[Double], Double]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setDouble, Set[Double], Double]
class Object
trait Matchable
class Any
Known subtypes
object setDouble.type
object setFloat extends setFloat

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setFloat
trait Options[setFloat, Set[Float], Float]
class Object
trait Matchable
class Any
trait setFloat extends Options[setFloat, Set[Float], Float]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setFloat, Set[Float], Float]
class Object
trait Matchable
class Any
Known subtypes
object setFloat.type
object setInt extends setInt

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setInt
trait Options[setInt, Set[Int], Int]
class Object
trait Matchable
class Any
trait setInt extends Options[setInt, Set[Int], Int]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setInt, Set[Int], Int]
class Object
trait Matchable
class Any
Known subtypes
object setInt.type
object setLong extends setLong

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setLong
trait Options[setLong, Set[Long], Long]
class Object
trait Matchable
class Any
trait setLong extends Options[setLong, Set[Long], Long]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setLong, Set[Long], Long]
class Object
trait Matchable
class Any
Known subtypes
object setLong.type
object setShort extends setShort

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setShort
trait Options[setShort, Set[Short], Short]
class Object
trait Matchable
class Any
trait setShort extends Options[setShort, Set[Short], Short]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setShort, Set[Short], Short]
class Object
trait Matchable
class Any
Known subtypes
object setShort.type
object setString extends setString

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setString
trait stringOptions[oneString, Set[String]]
trait Options[oneString, Set[String], String]
class Object
trait Matchable
class Any
Show all
trait setString extends stringOptions[oneString, Set[String]]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait stringOptions[oneString, Set[String]]
trait Options[oneString, Set[String], String]
class Object
trait Matchable
class Any
Known subtypes
object setString.type
object setURI extends setURI

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setURI
trait Options[setURI, Set[URI], URI]
class Object
trait Matchable
class Any
trait setURI extends Options[setURI, Set[URI], URI]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setURI, Set[URI], URI]
class Object
trait Matchable
class Any
Known subtypes
object setURI.type
object setUUID extends setUUID

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait setUUID
trait Options[setUUID, Set[UUID], UUID]
class Object
trait Matchable
class Any
trait setUUID extends Options[setUUID, Set[UUID], UUID]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[setUUID, Set[UUID], UUID]
class Object
trait Matchable
class Any
Known subtypes
object setUUID.type
trait stringOptions[Self, Tpe] extends Options[Self, Tpe, String]

Attributes

Inherited from:
DataModelApi
Source
DataModelApi.scala
Supertypes
trait Options[Self, Tpe, String]
class Object
trait Matchable
class Any
Known subtypes
trait oneString
object oneString.type
trait setString
object setString.type