package Ġcom . vs ou h rada . kotlin . android . ank o . fi bo . core . session Ċ Ċ import Ġandroid . util . Sparse Array Ċ import Ġcom . vs ou h rada . kotlin . android . ank o . fi bo . domain . model . User DO Ċ Ċ /** Ċ Ġ* Ġ@ author Ġvs ou h rada Ċ Ġ* Ġ@ since Ġ 0 . 1 . 0 Ċ Ġ* Ġ@ see [ IS ession ] Ċ Ġ*/ Ċ class ĠSession Ġ: ĠIS ession Ġ{ ĊĊĠ Ġvar Ġuser : ĠUser DO ? Ġ= Ġnull ĊĊĠ Ġprivate Ġval Ġsession Memory Ġ= ĠSparse Array < Any >() ĊĊĊĠ Ġoverride Ġfun Ġopen Session () Ġ{ ĊĠĠĠ Ġif Ġ( session Memory . size () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġsession Memory . clear () ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġclose Session () Ġ{ ĊĠĠĠ Ġuser Ġ= Ġnull ĊĠĠĠ Ġsession Memory . clear () ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠisValid (): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġuser Ġ!= Ġnull ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturn Ġdata Ġstored Ġon Ġsession Ġunder Ġthe Ġkey Ġvalue . ĊĠĠ Ġ* ĠFor Ġavailable Ġkey Ġvalues Ġ@ see ĠSession Data Keys ĊĊĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġkey Ġvalue ĊĠĠ Ġ* Ġ* ĊĠĠ Ġ* Ġ@ return Ġthe Ġobject ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun ĠgetData ( key : ĠInt ): ĠAny Ġ{ ĊĠĠĠ Ġreturn Ġsession Memory . get ( key ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠStore Ġdata Ġon Ġsession Ġunder Ġthe Ġkey Ġvalue . ĊĠĠ Ġ* ĠFor Ġavailable Ġkey Ġvalues Ġ@ see ĠSession Data Keys ĊĊĠĠ Ġ* Ġ@ param Ġkey Ġthe Ġkey Ġvalue ĊĠĠ Ġ* Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue Ġthe Ġvalue Ġobject ĊĠĠ Ġ*/ ĊĠ Ġoverride Ġfun Ġput Data ( key : ĠInt , Ġvalue : ĠAny ) Ġ{ ĊĠĠĠ Ġsession Memory . put ( key , Ġvalue ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġremove Data ( key : ĠInt ) Ġ{ ĊĠĠĠ Ġsession Memory . remove ( key ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠ Ġreturn Ġ" Session ( user =$ user , Ġsession Memory =$ session Memory )" ĊĠ Ġ} Ċ Ċ }