package Ġbar iss ag lam . client . movie app . util ĊĊ Ċ /* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 7 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠA Ġgeneric Ġclass Ġthat Ġholds Ġa Ġvalue Ġwith Ġits Ġloading Ġstatus . Ċ Ġ* Ġ@ param Ġ< T > Ċ </ T > Ġ*/ Ċ Ċ sealed Ġclass ĠResource < out ĠT > Ġ{ ĊĠĠĠ Ġclass ĠSuccess < T >( val Ġdata : ĠT ) Ġ: ĠResource < T >() ĊĠĠĠ Ġclass ĠError ( val Ġexception : ĠThrowable ) Ġ: ĠResource < Nothing >() ĊĠĠĠ Ġobject ĠLoading Ġ: ĠResource < Nothing >() ĊĠĠĠ Ġobject ĠEmpty Ġ: ĠResource < Nothing >() Ċ } Ċ Ċ inline Ġfun Ġ< T , ĠR > ĠResource < T >. map ( transform : Ġ( T ) Ġ-> ĠR ): ĠResource < R > Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġis ĠResource . Success Ġ-> ĠResource . Success ( transform ( data )) ĊĠĠĠĠĠĠĠ Ġis ĠResource . Error Ġ-> ĠResource . Error ( exception ) ĊĠĠĠĠĠĠĠ Ġis ĠResource . Loading Ġ-> ĠResource . Loading ĊĠĠĠĠĠĠĠ Ġis ĠResource . Empty Ġ-> ĠResource . Empty ĊĠĠĠ Ġ} Ċ }