Class::Maker
                              ============

               ! THIS IS ALPHA SOFTWARE - DO NOT USE THIS MODULE !

           THIS SOFTWARE SHIPS WITHOUT ANY WARRANTY OF ANY KIND

       Everything except the basic functionalities are still under constant
       reorganisation. Also major parts of the documentation are wrong or already
       outdated.

NAME
   Class::Maker - classes, reflection, schemas, serialization, attribute-
   and multiple inheritance

EXAMPLE
       use Class::Maker qw(class);

       class Something;

       class Person,
       {
               isa => [ 'Something' ],

       public =>
       {
               scalar => [qw( name age internal )],
       },

       private
       {
               int => [qw( internal )],
       }
       };

       sub Person::hello
       {
               my $this = shift;

               $this->_internal( 2123 );

               printf "Here is %s and i am %d years old.\n",  $this->name, $this->age;
       };

       my $p = Person->new( name => Murat, age => 27 );

       $p->hello;

DESCRIPTION
   Class::Maker introduces the concept of classes via a "class" function.
   It automatically creates packages, ISA, new and attribute-handlers (accessors).
   The classes can inherit from common perl-classes and class-maker classes.
   Single and multiple and attribute inheritance is supported.

AUDIENCE
   This package is for the intermediate-to-pro oo-perl programmer. While it has basicly
   similarities to Class::Struct and Class::MethodMaker, this package has significant
   differences and additional functionalities.

ATTRIBUTE INHERITANCE
       Because all attributes are accessible through accessors, they are
       following ISA inheritance / overloading as normal methods do.

MULTIPLE INHERITANCE
       Per default, Class::Maker cares for constructing all parent objects via its 'new'
       or '_init' constructors. It uses a trick to derive from even non Class::Maker
       classes correctly.

REFLECTION/CLASS INTROSPECTION
   Java-like reflection or recursive class introspectiong for methods/attribute/
   triggers are available during runtime. This is helpfull for implementing
   persistance, serialization, class tree charting and some other nifty tricks.

OBJECT PERSISTANCE
   A recursive Tangram (see cpan) schema generator is also available, which
   significantly  eases the use of object-persistance as long as you use
   Class::Maker classes and following some simple guidelines.

AUTHOR
   Murat Uenalan ([email protected])

COPYRIGHT
   (c) 2001 by Murat Uenalan. All rights reserved. Note: This program is
   free software; you can redistribute it and/or modify it under the same
       terms as perl itself.