package Ġorg . kom apper . r 2 dbc Ċ Ċ import Ġio . r 2 dbc . spi . ConnectionFactory Ċ import Ġorg . kom apper . core . Logger Facade Ċ import Ġorg . kom apper . core . spi . findBy Priority Ċ import Ġorg . kom apper . r 2 dbc . spi . R 2 dbc SessionFactory Ċ import Ġjava . util . Service Loader Ċ Ċ /** Ċ Ġ* ĠThe Ġprovider Ġof Ġ[ R 2 dbc Session ]. Ċ Ġ*/ Ċ object ĠR 2 dbc Sessions Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ@ param Ġconnection Factory Ġthe Ġconnection Ġfactory ĊĠĠĠĠ Ġ* Ġ@ param Ġlogger Facade Ġthe Ġlogger Ġfac ade ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġ[ R 2 dbc Session ] Ġinstance . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġget ( connection Factory : ĠConnection Factory , Ġlogger Facade : ĠLogger Facade ): ĠR 2 dbc Session Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġloader Ġ= ĠService Loader . load ( R 2 dbc SessionFactory :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġfactory Ġ= Ġloader . findBy Priority () ĊĠĠĠĠĠĠĠ Ġreturn Ġfactory ?. create ( connection Factory , Ġlogger Facade ) Ġ?: ĠDefault R 2 D bc Session ( connection Factory ) ĊĠĠĠ Ġ} Ċ } Ċ