package Ġm ary k . test . models Ċ Ċ import Ġm ary k . core . models . Object DataModel Ċ import Ġm ary k . core . properties . ObjectProperty Definitions Ċ import Ġm ary k . core . properties . definitions . Date Definition Ċ import Ġm ary k . core . properties . definitions . Number Definition Ċ import Ġm ary k . core . properties . definitions . String Definition Ċ import Ġm ary k . core . properties . definitions . Time Definition Ċ import Ġm ary k . core . properties . definitions . boolean Ċ import Ġm ary k . core . properties . definitions . dateTime Ċ import Ġm ary k . core . properties . definitions . embed Object Ċ import Ġm ary k . core . properties . definitions . enum Ċ import Ġm ary k . core . properties . definitions . list Ċ import Ġm ary k . core . properties . definitions . map Ċ import Ġm ary k . core . properties . definitions . multi Type Ċ import Ġm ary k . core . properties . definitions . number Ċ import Ġm ary k . core . properties . definitions . reference Ċ import Ġm ary k . core . properties . definitions . set Ċ import Ġm ary k . core . properties . definitions . string Ċ import Ġm ary k . core . properties . definitions . value Object Ċ import Ġm ary k . core . properties . types . Key Ċ import Ġm ary k . core . properties . types . Typed Value Ċ import Ġm ary k . core . properties . types . numeric . Float 6 4 Ċ import Ġm ary k . core . properties . types . numeric . S Int 3 2 Ċ import Ġm ary k . core . properties . types . numeric . UInt 3 2 Ċ import Ġm ary k . core . values . Object Values Ċ import Ġm ary k . lib . time . Date Ċ import Ġm ary k . lib . time . DateTime Ċ import Ġm ary k . lib . time . Time Ċ Ċ data Ġclass ĠTest M ary k Object ( ĊĠĠĠ Ġval Ġstring : ĠString Ġ= Ġ" h aha ", ĊĠĠĠ Ġval Ġint : ĠInt , ĊĠĠĠ Ġval Ġuint : ĠUInt , ĊĠĠĠ Ġval Ġdouble : ĠDouble , ĊĠĠĠ Ġval ĠdateTime : ĠDateTime , ĊĠĠĠ Ġval Ġbool : ĠBoolean ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġenum : ĠOption Ġ= ĠOption . V 1 , ĊĠĠĠ Ġval Ġlist : ĠList < Int >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġset : ĠSet < Date >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġmap : ĠMap < Time , ĠString >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġvalue Object : ĠTest ValueObject ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġembedded Object : ĠEmbedded M ary k Object ? Ġ= Ġnull , ĊĠĠĠ Ġval Ġmulti : ĠTyped Value < Simple M ary k TypeEnum With Object <* >, Ġ* >? Ġ= Ġnull , ĊĠĠĠ Ġval Ġreference : ĠKey < Test M ary k Model >? Ġ= Ġnull , ĊĠĠĠ Ġval ĠlistOf String : ĠList < String >? Ġ= Ġnull Ċ ) Ġ{ ĊĠĠĠ Ġobject ĠProperties Ġ: ĠObject Property Definitions < Test M ary k Object >() Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Ġby Ġstring ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: string , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Ġ= Ġ" h aha ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreg Ex Ġ= Ġ" ha .* " ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġint Ġby Ġnumber ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 2 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: int , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠS Int 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠmaxValue Ġ= Ġ 6 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġuint Ġby Ġnumber ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 3 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: uint , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠUInt 3 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdouble Ġby Ġnumber ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 4 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: double , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠFloat 6 4 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠdateTime Ġby ĠdateTime ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 5 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: dateTime ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbool Ġby Ġboolean ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 6 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: bool , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġenum Ġby Ġenum ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 7 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: enum , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenum Ġ= ĠOption , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefault Ġ= ĠOption . V 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfinal Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġlist Ġby Ġlist ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 8 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: list , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Definition Ġ= ĠNumber Definition ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtype Ġ= ĠS Int 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġset Ġby Ġset ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 9 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: set , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Definition Ġ= ĠDate Definition (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmap Ġby Ġmap ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 0 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: map , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Definition Ġ= ĠTime Definition (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Definition Ġ= ĠString Definition (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġvalue Object Ġby Ġvalue Object ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 1 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: value Object , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Model Ġ= ĠTest ValueObject , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġembedded Object Ġby Ġembed Object ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 2 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: embedded Object , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Model Ġ= Ġ{ ĠEmbedded M ary k Object Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġmulti Ġby Ġmulti Type ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 3 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtype Enum Ġ= ĠSimple M ary k TypeEnum With Object , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: multi ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġreference Ġby Ġreference ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 4 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: reference , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata Model Ġ= Ġ{ ĠTest M ary k Model Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠlistOf String Ġby Ġlist ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġindex Ġ= Ġ 1 5 u , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgetter Ġ= ĠTest M ary k Object :: listOf String , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Definition Ġ= ĠString Definition (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequired Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠObject DataModel < Test M ary k Object , ĠProperties >( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Test M ary k Object ", ĊĠĠĠĠĠĠĠ Ġproperties Ġ= ĠProperties ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġinvoke ( values : ĠObject Values < Test M ary k Object , ĠProperties >) Ġ= ĠTest M ary k Object ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstring Ġ= Ġvalues ( 1 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġint Ġ= Ġvalues ( 2 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuint Ġ= Ġvalues ( 3 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdouble Ġ= Ġvalues ( 4 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdateTime Ġ= Ġvalues ( 5 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbool Ġ= Ġvalues ( 6 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenum Ġ= Ġvalues ( 7 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Ġ= Ġvalues ( 8 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Ġ= Ġvalues ( 9 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap Ġ= Ġvalues ( 1 0 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Object Ġ= Ġvalues ( 1 1 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġembedded Object Ġ= Ġvalues ( 1 2 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmulti Ġ= Ġvalues ( 1 3 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreference Ġ= Ġvalues ( 1 4 u ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf String Ġ= Ġvalues ( 1 5 u ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġother Ġis ĠObject DataModel < *, Ġ*> Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . name Ġ== Ġother . name Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . properties . size Ġ== Ġother . properties . size ĊĠĠĠ Ġ} Ċ } ĊĊ