@ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġcom . ob se z . mobile . me ij ue . ui . ext Ċ Ċ import Ġandroid . database . Cursor Ċ import Ġandroid . database . sqlite . SQLite Database Ċ Ċ // import Ġorg . jetbrains . ank o . db . Map Row Parser Ċ // import Ġorg . jetbrains . ank o . db . Select QueryBuilder Ċ // Ċ // fun Ġ< T Ġ: ĠAny > ĠSelect QueryBuilder . parse List ( parser : Ġ( Map < String , ĠAny ?> ) Ġ-> ĠT ): ĠList < T > Ġ= Ċ // ĠĠĠĠĠĠĠ Ġparse List ( object Ġ: ĠMap Row Parser < T > Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Row ( columns : ĠMap < String , ĠAny ?> ): ĠT Ġ= Ġparser ( columns ) Ċ // ĠĠĠĠĠĠĠ Ġ}) Ċ // Ċ // fun Ġ< T Ġ: ĠAny > ĠSelect QueryBuilder . parse Opt ( parser : Ġ( Map < String , ĠAny ?> ) Ġ-> ĠT ): ĠT ? Ġ= Ċ // ĠĠĠĠĠĠĠ Ġparse Opt ( object Ġ: ĠMap Row Parser < T > Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Row ( columns : ĠMap < String , ĠAny ?> ): ĠT Ġ= Ġparser ( columns ) Ċ // ĠĠĠĠĠĠĠ Ġ}) Ċ // Ċ // fun ĠSelect QueryBuilder . by Id ( id : ĠLong ) Ġ= Ġwhere Simple ("_ id Ġ= Ġ?", Ġid . toString ()) ĊĊ Ċ inline Ġfun ĠCursor . getString ( columnName : ĠString ): ĠString Ġ= ĊĠĠĠ ĠgetString OrNull ( columnName ) !! Ċ Ċ inline Ġfun ĠCursor . getString OrNull ( columnName : ĠString ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġindex Ġ= Ġget Column Index OrThrow ( columnName ) ĊĠĠĠ Ġreturn Ġif Ġ( isNull ( index )) Ġnull Ġelse ĠgetString ( index ) Ċ } ĊĊ Ċ inline Ġfun ĠSQLite Database . clear ( tableName : ĠString ) Ġ{ ĊĠĠĠ Ġexec SQL (" delete Ġfrom Ġ$ tableName ") Ċ } Ċ Ċ inline Ġfun ĠSQLite Database . in Transaction ( func : ĠSQLite Database . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġbegin Transaction () ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġfunc () ĊĠĠĠĠĠĠĠ Ġset Transaction Successful () ĊĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠ Ġend Transaction () ĊĠĠĠ Ġ} Ċ } ĊĊĊ