package Ġio . lun arch ain . lun ar coin . storage Ċ Ċ import Ġorg . sp ong ycastle . util . en coders . Hex Ċ Ċ /** Ċ Ġ* Ġ åĨħåŃĺ æķ°æį® æºĲ å®ŀçİ° ãĢĤ Ċ Ġ*/ Ċ class ĠMemory DataSource ( override Ġval Ġname : ĠString ) Ġ: ĠDataSource < ByteArray , ĠByteArray > Ġ{ ĊĊĠĠĠ Ġval Ġdb Ġ= Ġmutable Map Of < String , ĠByteArray >() ĊĊĠĠĠ Ġoverride Ġfun Ġput ( key : ĠByteArray , Ġvalue : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . put ( Hex . to HexString ( key ), Ġvalue ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget ( key : ĠByteArray ): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb [ Hex . to HexString ( key )] ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdelete ( key : ĠByteArray ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdb . remove ( Hex . to HexString ( key )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġflush (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġinit () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġis Alive (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġclose () Ġ{} ĊĊĠĠĠ Ġoverride Ġfun Ġupdate Batch ( rows : ĠMap < ByteArray , ĠByteArray ?> ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġrows ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ( key , Ġvalue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġkeys (): ĠSet < ByteArray > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstring Keys Ġ= Ġdb . keys ĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġmutable Set Of < ByteArray >() ĊĠĠĠĠĠĠĠ Ġstring Keys . map Ġ{ Ġresult . add ( Hex . decode ( it )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġreset () Ġ{ ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġstart () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcommit () Ġ{ ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġrollback () Ġ{ ĊĠĠĠ Ġ} Ċ } Ċ