package Ġdev . div ine genesis . so ul bound . storage Ċ Ċ import Ġdev . div ine genesis . so ul bound . S oul bound Ċ import Ġdev . div ine genesis . so ul bound . custom data . Data Stack Ċ import Ġdev . div ine genesis . so ul bound . logger Ċ import Ġjava . io . File Ċ import Ġjava . sql . Connection Ċ import Ġjava . sql . Driver Manager Ċ import Ġjava . sql . SQLException ĊĊ Ċ class ĠSql ite Database Ġ: ĠDatabase () Ġ{ ĊĊĠĠĠ Ġ@ get : Throws ( SQLException :: class ) ĊĠĠĠ Ġoverride Ġvar Ġconnection : ĠConnection ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġload Data (): ĠMap < String , ĠData Stack > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= Ġhash Map Of < String , ĠData Stack >() ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnection ?. createStatement (). use Ġ{ Ġstatement Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatement ?. executeQuery (" SELECT Ġ* ĠFROM Ġsoul bound "). use Ġ{ Ġresults Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( results ?. next () Ġ== Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem ID : ĠString Ġ= Ġresults . getString (" item ID ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġinteract : ĠInt Ġ= Ġresults . getInt (" interact ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpick up : ĠInt Ġ= Ġresults . getInt (" pickup ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcraft : ĠInt Ġ= Ġresults . getInt (" craft ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdata Stack Ġ= ĠData Stack ( item ID , Ġinteract , Ġpick up , Ġcraft ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdata [ item ID ] Ġ= Ġdata Stack ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger < Sqlite Database >(). error (" Unable Ġto Ġread Ġfrom Ġthe Ġdatabase :", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġlogger < Sqlite Database >(). info (" Loaded ĠS oul bound ĠSQLite ĠData . ĠCount : Ġ${ data . size }") ĊĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠLoad Ġthe ĠSQLite ĠJDBC Ġdriver ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClass . forName (" org . sqlite . JDBC ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconnection Ġ= ĠDriver Manager . getConnection ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" jdbc : sqlite :${ S oul bound . config Dir }${ File . separator Char } so ul bound . db " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger < Sqlite Database >(). info (" Successfully Ġconnected Ġto ĠS oul bound ĠSQLite ĠDB .") ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠClass NotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger < Sqlite Database >(). error (" Unable Ġto Ġload Ġthe ĠJDBC Ġdriver :", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠSQLException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger < Sqlite Database >(). error (" Unable Ġto Ġconnect Ġto ĠS oul bound ĠSQLite ĠDB :", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcreate Table () ĊĠĠĠ Ġ} Ċ }