package Ġcom . astro soft . model . leg ado Ċ Ċ import Ġcom . astro soft . utils . readFile Ċ import Ġorg . sql 2 o . Query Ċ import Ġorg . sql 2 o . Sql 2 o Ċ Ċ open Ġclass ĠQuery DB ( driver : ĠString , Ġurl : ĠString , Ġusername : ĠString , Ġpassword : ĠString ) Ġ{ ĊĠ Ġprivate Ġval Ġsql 2 o : ĠSql 2 o ĊĊĠ Ġinit Ġ{ ĊĠĠĠ Ġregister Driver ( driver ) ĊĠĠĠ Ġthis . sql 2 o Ġ= ĠSql 2 o ( url , Ġusername , Ġpassword ) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġregister Driver ( driver : ĠString ) Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠ ĠClass . forName ( driver ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠ Ġthrow ĠRuntimeException ( e ) ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprotected Ġfun Ġ< T > Ġquery ( file : ĠString , Ġlambda : Ġ( Query ) Ġ-> ĠT ): ĠT Ġ{ ĊĠĠĠ Ġval Ġsql Ġ= Ġfile . readFile () ĊĠĠĠ Ġval Ġcon Ġ= Ġthis . sql 2 o . open () ĊĠĠĠ Ġval Ġquery Ġ= Ġcon . createQuery ( sql ) ĊĠĠĠ Ġval Ġret Ġ= Ġlambda ( query ) ĊĠĠĠ Ġcon . close () ĊĠĠĠ Ġreturn Ġret ĊĠ Ġ} Ċ } Ċ