++ed by:

1 non-PAUSE user.

Amarendran R. Subramanian


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


    # Tell a SaveAble object that it's modified

    # Tell the SaveAble object to store itself back to disk


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.

Setting and Querying an objects status

  # Tell an object that it's modified
  # 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.

Setting and Querying an objects file name

  # Set the objects associated 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.

Storing an object to disk


(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

                         Email: joe@ispsoft.de
                         Phone: +49 7123 14887

                 and     Amarendran R. Subramanian
                         Grundstr. 32
                         72810 Gomaringen

                         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.


Wizard(3), Wizard::State(3)