package Ġcom . trig on ated . game collection . misc Ċ Ċ /** Ċ Ġ* ĠGeneric Ġclass Ġthat Ġrepresents Ġan Ġoperation 's Ġstatus Ġand Ġresult . ĠUseful Ġwhen Ġcombined Ġwith Ċ Ġ* Ġ[ kotlin x . coroutines . flow . Flow ]. Ċ Ġ* Ċ Ġ* ĠThis Ġclass Ġcontains Ġseveral Ġhelpful Ġstatic Ġfunctions Ġto Ġcreate Ġresults . Ċ Ġ* Ġ@ param ĠT ĠThe Ġtype Ġof Ġdata Ġof Ġthis Ġoperation 's Ġresult . Ċ Ġ*/ Ċ data Ġclass ĠResult < T >( ĊĠĠĠ Ġ/** ĠThe Ġstatus Ġof Ġthe Ġoperation . Ġ*/ ĊĠĠĠ Ġval Ġstatus : ĠStatus , ĊĠĠĠ Ġ/** ĠThe Ġdata Ġfrom Ġthe Ġresult . ĠTypically Ġnon - null Ġon Ġsuccessful Ġoperations Ġand Ġnull Ġotherwise . Ġ*/ ĊĠĠĠ Ġval Ġdata : ĠT ?, ĊĠĠĠ Ġ/** ĠThe Ġerror Ġthat Ġoccurred . ĠTypically Ġonly Ġnon - null Ġon Ġfailed Ġoperations . Ġ*/ ĊĠĠĠ Ġval Ġerror : ĠError ?, ĊĠĠĠ Ġ/** ĠA Ġmessage Ġassociated Ġwith Ġthe Ġ[ error ] Ġ*/ ĊĠĠĠ Ġval Ġmessage : ĠString ? Ċ ) Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġresult Ġfrom Ġa Ġsuccessful Ġoperation . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġdata ĠThe Ġdata Ġfrom Ġthe Ġresult . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġsuccess ( data : ĠT ?): ĠResult < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( Status . SUCCESS , Ġdata , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġresult Ġfrom Ġa Ġfailed Ġoperation . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġmessage ĠA Ġmessage Ġassociated Ġwith Ġthe Ġerror . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġerror ĠAn Ġerror . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġerror ( message : ĠString ?, Ġerror : ĠError ?): ĠResult < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( Status . ERROR , Ġnull , Ġerror , Ġmessage ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠA Ġresult Ġfrom Ġan Ġoperation Ġthat Ġis Ġstill Ġloading . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġ< T > Ġloading ( data : ĠT ? Ġ= Ġnull ): ĠResult < T > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠResult ( Status . LOADING , Ġdata , Ġnull , Ġnull ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" Result ( status =$ status , Ġdata =$ data , Ġerror =$ error , Ġmessage =$ message )" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġenum Ġclass ĠStatus Ġ{ ĊĠĠĠĠĠĠĠ ĠSUCCESS , ĊĠĠĠĠĠĠĠ ĠERROR , ĊĠĠĠĠĠĠĠ ĠLO ADING ĊĠĠĠ Ġ} Ċ }