
Wizard::SaveAble - A package for automatically saved objects.

# Tell a SaveAble object that it's modified
$obj->Modified(1);
# Tell the SaveAble object to store itself back to disk
$obj->Store();

An object of the class Wizard::SaveAble is something that knows whether it has to be saved or not. To that end it offers methods like Modified and Store.

All methods are throwing a Perl exception in case of errors.
# Create an empty SaveAble object and associate a file name to it.
my $obj = Wizard::SaveAble->new('file' => $file);
# Load a SaveAble object from a file.
my $obj = Wizard::SaveAble->new($file);
# Same thing, but creating an empty object if $file doesn't exist
my $obj = Wizard::SaveAble->new('file' => $file, 'load' => 1);
(Class method) There are two possible constructors for the Wizard::SaveAble class: The first is creating an empty object, you typically use a subclass of Wizard::SaveAble here. The most important attribute is the file name where the object should later be stored.
The other constructor is loading an already existing object from a file. The object is automatically blessed into the same class again, typically a subclass of Wizard::SaveAble.
# Tell an object that it's modified $obj->Modified(1); # Query whether an object is modified $modified = $obj->Modified()
(Instance methods) The Modified method is used to determine whether an object needs to be saved or not.
# Set the objects associated file $obj->File($file); # Query the objects associated file $file = $obj->File();
(Instance methods) The Modified method is used to determine whether an object needs to be saved or not.
$obj->Store();
(Instance Method) The object is stored back to disk into the file that was fixed within the constructor.

This module is
Copyright (C) 1999 Jochen Wiedmann
Am Eisteich 9
72555 Metzingen
Germany
Email: joe@ispsoft.de
Phone: +49 7123 14887
and Amarendran R. Subramanian
Grundstr. 32
72810 Gomaringen
Germany
Email: amar@ispsoft.de
Phone: +49 7072 920696
All Rights Reserved.
You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file.
