The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

TIECLASS Name: POP::Lazy_object_hash Desc: Implements a tied hash which contains a list of persistent objects, lazily, so that it at first just contains the objects' pids, but goes out and restores the object when it is accessed.

METHOD Name: POP::Lazy_object_hash::TIEHASH Desc: The tied hash constructor; takes the persistent class, the name of this collection in our parent, our parent and a hashref of keys to pids. Notice that all the pids must be for objects in the same class

METHOD Name: POP::Lazy_object_hash::FETCH Desc: Called whenever an element of the tied hash is accessed, this will restore the object if it hasn't already been, and then return it.

METHOD Name: POP::Lazy_object_hash::PIDS Desc: Returns a hash of keys to pids for every object in the hash, either by pulling the pid out of the restored object, or by simply returning that value of the hash if the object hasn't been restored yet.

METHOD Name: POP::Lazy_object_hash::STORE Desc: Called whenever an element in the hash is set; Tells our parent to update persistence

METHOD Name: POP::Lazy_object_hash::EXISTS Desc: Called to see if a key exists in the hash.

METHOD Name: POP::Lazy_object_hash::DELETE Desc: Called to delete one key/value pair in the hash.

METHOD Name: POP::Lazy_object_hash::CLEAR Desc: Called to delete all key/value pairs in the hash.

METHOD Name: POP::Lazy_object_hash::FIRSTKEY Desc: Called when first iterating through the hash.

METHOD Name: POP::Lazy_object_hash::NEXTKEY Desc: Called when iterating through the hash.