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
Type Hierarchy
Ordering
- Grouped
- Alphabetic
- By Inheritance
Inherited
- DataModel
- Serializable
- Serializable
- Product
- Equals
- DataModelApi
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Instance Constructors
- new DataModel(maxArity: Int)
Type Members
-
sealed
trait
Options[Self, Tpe, BaseTpe] extends AnyRef
Attribute options.
Attribute options.
- Definition Classes
- DataModelApi
-
trait
many extends refOptions[many, Set[Long]]
- Definition Classes
- DataModelApi
-
trait
one extends refOptions[one, Long]
- Definition Classes
- DataModelApi
-
trait
oneBigDecimal extends Options[oneBigDecimal, BigDecimal, BigDecimal]
- Definition Classes
- DataModelApi
-
trait
oneBigInt extends Options[oneBigInt, BigInt, BigInt]
- Definition Classes
- DataModelApi
-
trait
oneBoolean extends Options[oneBoolean, Boolean, Boolean]
- Definition Classes
- DataModelApi
-
trait
oneByte extends Options[oneByte, Byte, Byte]
- Definition Classes
- DataModelApi
-
trait
oneChar extends Options[oneChar, Char, Char]
- Definition Classes
- DataModelApi
-
trait
oneDate extends Options[oneDate, Date, Date]
- Definition Classes
- DataModelApi
-
trait
oneDouble extends Options[oneDouble, Double, Double]
- Definition Classes
- DataModelApi
-
trait
oneFloat extends Options[oneFloat, Float, Float]
- Definition Classes
- DataModelApi
-
trait
oneInt extends Options[oneInt, Int, Int]
- Definition Classes
- DataModelApi
-
trait
oneLong extends Options[oneLong, Long, Long]
- Definition Classes
- DataModelApi
-
trait
oneShort extends Options[oneShort, Short, Short]
- Definition Classes
- DataModelApi
-
trait
oneString extends stringOptions[oneString, String]
- Definition Classes
- DataModelApi
-
trait
oneURI extends Options[oneURI, URI, URI]
- Definition Classes
- DataModelApi
-
trait
oneUUID extends Options[oneUUID, UUID, UUID]
- Definition Classes
- DataModelApi
-
trait
refOptions[Self, Tpe] extends Options[Self, Tpe, Long]
- Definition Classes
- DataModelApi
-
trait
setBigDecimal extends Options[setBigDecimal, Set[BigDecimal], BigDecimal]
- Definition Classes
- DataModelApi
-
trait
setBigInt extends Options[setBigInt, Set[BigInt], BigInt]
- Definition Classes
- DataModelApi
-
trait
setBoolean extends Options[setBoolean, Set[Boolean], Boolean]
- Definition Classes
- DataModelApi
-
trait
setByte extends Options[setByte, Set[Byte], Byte]
- Definition Classes
- DataModelApi
-
trait
setChar extends Options[setChar, Set[Char], Char]
- Definition Classes
- DataModelApi
-
trait
setDate extends Options[setDate, Set[Date], Date]
- Definition Classes
- DataModelApi
-
trait
setDouble extends Options[setDouble, Set[Double], Double]
- Definition Classes
- DataModelApi
-
trait
setFloat extends Options[setFloat, Set[Float], Float]
- Definition Classes
- DataModelApi
-
trait
setInt extends Options[setInt, Set[Int], Int]
- Definition Classes
- DataModelApi
-
trait
setLong extends Options[setLong, Set[Long], Long]
- Definition Classes
- DataModelApi
-
trait
setShort extends Options[setShort, Set[Short], Short]
- Definition Classes
- DataModelApi
-
trait
setString extends stringOptions[oneString, Set[String]]
- Definition Classes
- DataModelApi
-
trait
setURI extends Options[setURI, Set[URI], URI]
- Definition Classes
- DataModelApi
-
trait
setUUID extends Options[setUUID, Set[UUID], UUID]
- Definition Classes
- DataModelApi
-
trait
stringOptions[Self, Tpe] extends Options[Self, Tpe, String]
- Definition Classes
- DataModelApi
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val maxArity: Int
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
object
many extends many
- Definition Classes
- DataModelApi
-
object
one extends one
- Definition Classes
- DataModelApi
-
object
oneBigDecimal extends oneBigDecimal
- Definition Classes
- DataModelApi
-
object
oneBigInt extends oneBigInt
- Definition Classes
- DataModelApi
-
object
oneBoolean extends oneBoolean
- Definition Classes
- DataModelApi
-
object
oneByte extends oneByte
- Definition Classes
- DataModelApi
-
object
oneChar extends oneChar
- Definition Classes
- DataModelApi
-
object
oneDate extends oneDate
- Definition Classes
- DataModelApi
-
object
oneDouble extends oneDouble
- Definition Classes
- DataModelApi
-
object
oneFloat extends oneFloat
- Definition Classes
- DataModelApi
-
object
oneInt extends oneInt
- Definition Classes
- DataModelApi
-
object
oneLong extends oneLong
- Definition Classes
- DataModelApi
-
object
oneShort extends oneShort
- Definition Classes
- DataModelApi
-
object
oneString extends oneString
- Definition Classes
- DataModelApi
-
object
oneURI extends oneURI
- Definition Classes
- DataModelApi
-
object
oneUUID extends oneUUID
- Definition Classes
- DataModelApi
-
object
setBigDecimal extends setBigDecimal
- Definition Classes
- DataModelApi
-
object
setBigInt extends setBigInt
- Definition Classes
- DataModelApi
-
object
setBoolean extends setBoolean
- Definition Classes
- DataModelApi
-
object
setByte extends setByte
- Definition Classes
- DataModelApi
-
object
setChar extends setChar
- Definition Classes
- DataModelApi
-
object
setDate extends setDate
- Definition Classes
- DataModelApi
-
object
setDouble extends setDouble
- Definition Classes
- DataModelApi
-
object
setFloat extends setFloat
- Definition Classes
- DataModelApi
-
object
setInt extends setInt
- Definition Classes
- DataModelApi
-
object
setLong extends setLong
- Definition Classes
- DataModelApi
-
object
setShort extends setShort
- Definition Classes
- DataModelApi
-
object
setString extends setString
- Definition Classes
- DataModelApi
-
object
setURI extends setURI
- Definition Classes
- DataModelApi
-
object
setUUID extends setUUID
- Definition Classes
- DataModelApi
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated