#!../../src/xotclsh package require XOTcl 1; namespace import -force xotcl::* package require xotcl::store::persistence package require xotcl::mixinStrategy PersistenceMgr jufpMgr PersistenceMgr tclpMgr -dbPackage TclGdbm Class PersistenceTest -parameter {{countVar 0} {appendVar ""} pm} PersistenceTest instproc init args { my mixinStrategy Persistent=Eager my persistenceMgr [my set pm] my persistent {countVar appendVar} next } PersistenceTest instproc incrCount {} { puts "in [self] countVar now is [my countVar]" my incr countVar } PersistenceTest instproc appendV {x} { my append appendVar $x puts "append is: [my appendVar]" } PersistenceTest instproc test {} { # first we increment a counter: my incrCount # now we 5x append something to appendVar for {set i 0} {$i<5} {incr i} { my appendV a } # now we list all keys in the database puts "Variables stored in [my persistenceMgr].db: [[my persistenceMgr] names]" # now we delete append var puts "Deleting append:[[my persistenceMgr] delete [self]::appendVar]" # now we list the keys again puts "Variables stored in [my persistenceMgr].db: [[my persistenceMgr] names]" } PersistenceTest persistenceJufTest -pm jufpMgr -init -test #PersistenceTest persistenceTclTest -pm tclpMgr -init -test #PersistenceTest instproc count