package Ġcom . jetbrains . hand son . http api . models Ċ Ċ import Ġcom . jetbrains . hand son . http api . exceptions . Illegal Entered DataException Ċ import Ġcom . jetbrains . hand son . http api . utils . log Ċ import Ġkotlinx . serialization .* Ċ Ċ @ Serializable Ċ sealed Ġclass ĠSl ave { ĊĠĠĠ Ġenum Ġclass ĠType { ĊĠĠĠĠĠĠĠ ĠH UM AN , ĊĠĠĠĠĠĠĠ ĠRESOURCE , ĊĠĠĠĠĠĠĠ ĠSO METH ING ĊĠĠĠ Ġ} ĊĠĠĠ Ġabstract Ġval Ġtype : ĠType Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠWorker ( val Ġid : ĠInt ? Ġ= Ġnull , Ġval Ġname : ĠString , Ġval Ġs urname : ĠString ): ĠSl ave (){ ĊĠĠĠ Ġvar Ġemail : ĠString Ġ= Ġ" Has Ġno Ġemail " ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif (! value . matches ( Regex ("^ (. +) @ (. +)\ $ "))) Ġthrow ĠIllegal Entered DataException () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. also Ġ{ Ġlog ( value ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue . also Ġ{ Ġlog ( value ) Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġoverride Ġval Ġtype : ĠType Ġ= ĠType . HUM AN Ċ } Ċ Ċ @ Serializable Ċ data Ġclass ĠL iter ature ( val Ġtitle : ĠString , Ġval Ġauthor : ĠString , Ġval Ġyear : ĠInt ): ĠSl ave (){ ĊĠĠĠ Ġoverride Ġval Ġtype : ĠType Ġ= ĠType . RESOURCE Ċ } ĊĊĊ