/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġandroid . arch . persistence . room . solver . query . result Ċ Ċ import Ġandroid . arch . persistence . room . ext . L Ċ import Ġandroid . arch . persistence . room . ext . T Ċ import Ġandroid . arch . persistence . room . ext . typeName Ċ import Ġandroid . arch . persistence . room . solver . CodeGen Scope Ċ import ĠdefaultValue Ċ Ċ /** Ċ Ġ* ĠWrap s Ġa Ġrow Ġadapter Ġwhen Ġthere Ġis Ġonly Ġ 1 Ġitem Ġin Ġthe Ġresult Ċ Ġ*/ Ċ class ĠSingle Entity QueryResult Adapter ( row Adapter : ĠRow Adapter ) Ġ: ĠQuery Result Adapter ( row Adapter ) Ġ{ ĊĠĠĠ Ġval Ġtype Ġ= Ġrow Adapter . out ĊĠĠĠ Ġoverride Ġfun Ġconvert ( out Var Name : ĠString , Ġcursor Var Name : ĠString , Ġscope : ĠCode Gen Scope ) Ġ{ ĊĠĠĠĠĠĠĠ Ġscope . builder (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow Adapter ?. on Cursor Ready ( cursor Var Name , Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Statement (" final Ġ$ T Ġ$ L ", Ġtype . typeName (), Ġout Var Name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbegin Control Flow (" if ($ L . moveTo First ()) ", Ġcursor Var Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrow Adapter ?. convert ( out Var Name , Ġcursor Var Name , Ġscope ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnext Control Flow (" else "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Statement ("$ L Ġ= Ġ$ L ", Ġout Var Name , Ġrow Adapter ?. out ?. defaultValue ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġend Control Flow () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrow Adapter ?. on Cursor Finished ()?. invoke ( scope ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ