package Ġm ary k . datastore . ro cksdb . processors Ċ Ċ import Ġm ary k . core . properties . definitions . Is Property Definition Ċ import Ġm ary k . core . properties . references . Is Property Reference Ċ import Ġm ary k . core . values . Is Values Getter Ċ import Ġm ary k . datastore . ro cksdb . DB Accessor Ċ import Ġm ary k . datastore . ro cksdb . TableColumn F amilies Ċ import Ġm ary k . datastore . ro cksdb . processors . helpers . convertTo Value Ċ import Ġm ary k . datastore . ro cksdb . processors . helpers . getValue Ċ import Ġm ary k . datastore . ro cksdb . processors . helpers . read Version Bytes Ċ import Ġm ary k . ro cksdb . Read Options Ċ import Ġkotlin . math . max Ċ Ċ /** Ċ Ġ* ĠA Ġvalues Ġgetter Ġwhich Ġsearches Ġon Ġthe Ġpassed ĠDB Accessor Ġor ĠTransaction Ċ Ġ*/ Ċ internal Ġclass ĠDB Accessor Store Values Getter ( ĊĠĠĠ Ġval Ġcolumn F amilies : ĠTable Column F amilies , ĊĠĠĠ Ġval Ġread Options : ĠRead Options , ĊĠĠĠ Ġprivate Ġval Ġcapture Version : ĠBoolean Ġ= Ġfalse Ċ ) Ġ: ĠIs Values Getter Ġ{ ĊĠĠĠ Ġprivate Ġval Ġcache Ġ= Ġmutable Map Of < Is Property Reference < *, Ġ*, Ġ* >, ĠAny ?> () ĊĊĠĠĠ Ġprivate Ġvar Ġto Version : ĠU Long ? Ġ= ĠU Long . MAX _ VALUE ĊĠĠĠ Ġinternal Ġvar Ġlast Version : ĠU Long ? Ġ= Ġnull ĊĊĠĠĠ Ġlateinit Ġvar Ġdb Accessor : ĠDB Accessor ĊĠĠĠ Ġlateinit Ġvar Ġkey : ĠByteArray ĊĊĠĠĠ Ġ/** ĠSet Ġthe Ġgetter Ġto Ġget Ġthe Ġvalues Ġfor Ġ[ key ] Ġfrom Ġ[ db Accessor ] Ġuntil Ġ[ to Version ] Ġ*/ ĊĠĠĠ Ġfun Ġmove To Key ( key : ĠByteArray , Ġdb Accessor : ĠDB Accessor , Ġto Version : ĠU Long ? Ġ= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . key Ġ= Ġkey ĊĠĠĠĠĠĠĠ Ġthis . db Accessor Ġ= Ġdb Accessor ĊĠĠĠĠĠĠĠ Ġthis . to Version Ġ= Ġto Version ĊĠĠĠĠĠĠĠ Ġthis . last Version Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġcache . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠGet Ġlatest Ġvalue Ġfor Ġproperty Ġof Ġ[ property Reference ] Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġ< T Ġ: ĠAny , ĠD Ġ: ĠIs Property Definition < T >, ĠC Ġ: ĠAny > Ġget ( property Reference : ĠIs Property Reference < T , ĠD , ĠC >): ĠT ? Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġreturn Ġcache . get Or Put ( property Reference ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdb Accessor . getValue ( column F amilies , Ġread Options , Ġthis . to Version , Ġbyte ArrayOf (* key , Ġ* property Reference . to Storage ByteArray ())) Ġ{ Ġvalue As Bytes , Ġoffset , Ġlength Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( value As Bytes . convertTo Value ( property Reference , Ġoffset , Ġlength ) Ġas ĠT ?) ?. also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( capture Version ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Ġ= Ġvalue As Bytes . read Version Bytes () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthis . last Version Ġ= Ġthis . last Version ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmax ( it , Ġversion ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġversion ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġas ĠT ? ĊĠĠĠ Ġ} Ċ } Ċ