package Ġk lay . core Ċ Ċ open Ġclass ĠBatch Impl ( protected Ġval Ġstorage : ĠStorage ) Ġ: ĠStorage . Batch Ġ{ ĊĠĠĠ Ġprivate Ġvar Ġupdates : ĠMutable Map < String , ĠString ?> ? Ġ= ĠHashMap () ĊĊĠĠĠ Ġoverride Ġfun Ġset Item ( key : ĠString , Ġdata : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdates !!. put ( key , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġremove Item ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġupdates !!. put ( key , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcommit () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Before Commit () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġdata ) Ġin Ġupdates !! ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( data Ġ== Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġremove Impl ( key ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Impl ( key , Ġdata ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon After Commit () ĊĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdates Ġ= Ġnull Ġ// Ġprevent Ġfurther Ġuse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġon Before Commit () Ġ{} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġset Impl ( key : ĠString , Ġdata : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . setItem ( key , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġremove Impl ( key : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstorage . removeItem ( key ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġopen Ġfun Ġon After Commit () Ġ{} Ċ } Ċ