package Ġedu . wpi . in nd ie . db . data Ċ Ċ import Ġedu . wpi . in nd ie . example model . Example Model Ċ import Ġedu . wpi . in nd ie . util . FilePath Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġkotlinx . serialization . json . Json Configuration Ċ Ċ /** Ċ Ġ* ĠThe Ġvarious Ġsources Ġa Ġmodel Ġcould Ġbe Ġloaded Ġfrom . Ċ Ġ*/ Ċ @ Serializable Ċ sealed Ġclass ĠModel Source Ġ{ ĊĊĠĠĠ Ġabstract Ġval Ġfilename : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFrom Ġan Ġexample Ġmodel . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠFrom Example ( val Ġexample Model : ĠExample Model ) Ġ: ĠModel Source () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġfilename : ĠString Ġ= Ġexample Model . fileName ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠFrom Ġa ĠFilePath . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Serializable ĊĠĠĠ Ġdata Ġclass ĠFrom File ( val ĠfilePath : ĠFilePath ) Ġ: ĠModel Source () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġfilename : ĠString Ġ= ĠfilePath . filename ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġserialize (): ĠString Ġ= ĠJson ( ĊĠĠĠĠĠĠĠ ĠJson Configuration . Stable ĊĠĠĠ Ġ). stringify ( serializer (), Ġthis ) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġdeserialize ( data : ĠString ) Ġ= ĠJson ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠJson Configuration . Stable ĊĠĠĠĠĠĠĠ Ġ). parse ( serializer (), Ġdata ) ĊĠĠĠ Ġ} Ċ } Ċ