package Ġcom . air bnb . e po xy . pag ings ample Ċ Ċ import Ġandroid . arch . paging .* Ċ import Ġandroid . arch . persistence . room .* Ċ Ċ @ Database ( entities Ġ= ĠarrayOf ( User :: class ), Ġversion Ġ= Ġ 1 ) Ċ abstract Ġclass ĠP aging Database Ġ: ĠRoom Database () Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġuser Dao (): ĠUser Dao Ċ } Ċ Ċ @ Entity Ċ data Ġclass ĠUser ( ĊĠĠĠĠĠĠĠ Ġ@ PrimaryKey ĊĠĠĠĠĠĠĠ Ġvar Ġuid : ĠInt , ĊĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" first _ name ") ĊĠĠĠĠĠĠĠ Ġvar ĠfirstName : ĠString Ġ= Ġ" first Ġname ", ĊĊĠĠĠĠĠĠĠ Ġ@ Column Info ( name Ġ= Ġ" last _ name ") ĊĠĠĠĠĠĠĠ Ġvar ĠlastName : ĠString Ġ= Ġ" last Ġname " Ċ ) Ċ Ċ @ Dao Ċ interface ĠUser Dao Ġ{ ĊĠĠĠ Ġ@ get : Query (" SELECT Ġ* ĠFROM Ġuser ") ĊĠĠĠ Ġval ĠdataSource : ĠT iled DataSource < User > ĊĊĠĠĠ Ġ@ get : Query (" SELECT Ġ* ĠFROM Ġuser ") ĊĠĠĠ Ġval Ġall : ĠList < User > ĊĊĠĠĠ Ġ@ Insert ( on Conflict Ġ= ĠOn Conflict Strategy . REPLACE ) ĊĠĠĠ Ġfun Ġinsert All ( var arg Ġusers : ĠUser ) ĊĊĠĠĠ Ġ@ Delete ĊĠĠĠ Ġfun Ġdelete ( users : ĠList < User >) Ċ }