package Ġcom . d are k bx . c ari . sdk . internal . wrappers . sqlite Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . d are k bx . c ari . sdk . internal . model . Command Wrapper Ċ import Ġcom . d are k bx . c ari . sdk . internal . wrappers . Base CommandHandler Ċ import Ġjava . lang . Exception Ċ Ċ internal Ġclass ĠSql ite CommandHandler ( val Ġcontext : ĠContext ) Ġ: ĠBase CommandHandler () Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠRESOURCE _ NAME Ġ= Ġ" sqlite " ĊĊĠĠĠ Ġoverride Ġfun Ġhandle Command ( command String : ĠString ?): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( command String ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġreturn Ġcreate ErrorResponse (" Command Ġis Ġempty !") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparse Command < Command Wrapper >( command String )?. let Ġ{ Ġcommand Wrapper Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( command Wrapper . resource Ġ== ĠRESOURCE _ NAME ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( command Wrapper . command ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" databases " Ġ-> Ġhandle Databases List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" tables " Ġ-> Ġhandle Tables List ( command Wrapper ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" q " Ġ-> Ġhandle Query ( command Wrapper ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġobtain Type () Ġ= ĠRESOURCE _ NAME ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Databases List (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Base List Ġ= Ġcontext . database List () ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Response ( data Base List ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Tables List ( command Wrapper : ĠCommand Wrapper ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġcommand Wrapper . arguments . get ( 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġtables Ġ= Ġsqlite Wrapper . list Tables ( database ) ĊĠĠĠĠĠĠĠ Ġreturn Ġcreate Response ( tables ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġhandle Query ( command Wrapper : ĠCommand Wrapper ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdatabase Ġ= Ġcommand Wrapper . arguments . get ( 0 ) ĊĠĠĠĠĠĠĠ Ġval Ġquery Ġ= Ġcommand Wrapper . arguments . get ( 1 ) ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġsqlite Wrapper . execute ( database , Ġquery ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate Response ( result Ġ?: Ġ" Unknown ") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcreate ErrorResponse ( e . message Ġ?: Ġe . toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsqlite Wrapper Ġby Ġlazy Ġ{ ĠSql ite Wrapper ( context ) Ġ} Ċ }