package Ġstorage Ċ Ċ import ĠRoom Ċ import Ġstorage . firestore . Fire store Storage Ċ Ċ /** Ċ Ġ* ĠGeneric Ġinterface Ġto Ġaccess Ġstorage Ġsolution . ĠTo Ġuse Ġit , Ġcall Ġ[ Storage . getInstance () ][ newInstance ]. Ċ Ġ*/ Ċ abstract Ġclass ĠStorage Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĠAct s Ġas Ġa Ġfactory , Ġto Ġretrieve Ġan Ġinstance Ġof Ġthe Ġimplementation Ġwe Ġwant Ġto Ġuse . Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġnew Instance (): ĠStorage Ġ= ĠFire store Storage () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġfun Ġget Room ( roomId : ĠString ): ĠRoom ? ĊĊĠĠĠ Ġabstract Ġfun Ġset Room ( room : ĠRoom ) ĊĊĠĠĠ Ġabstract Ġfun Ġdelete All Rooms () Ċ }