DISCLAIMER

                                   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

VERSION

 0.05.98 (Mon Jun 9 10:23:26 2008)

DESCRIPTION

 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.

SYNOPSIS

   use Class::Maker qw(:all);

   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 ); # the private one

     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;

INSTALLATION

 I highly recommend to use CPAN for one-stop-shop installation:

 perl -MCPAN -e "install Class::Maker"

PREREQUISITES

 Following modules get automatically installed via the CPAN module. See
 INSTALLATION above. Data::Type has a mechanism for delayed loading of
 modules. This means modules are loaded only when the used types require
 them, not all at once.

 XML::LibXSLT (0)
 Data::Dumper (0)
 IO::Extended (0)
 Error (0.15)
 Algorithm::FastPermute (0.05)
 Array::Compare (1.03)
READON

 Visit the Class::Maker main documentation.

CONTACT

 Sourceforge <http://sf.net/projects/datatype> is hosting a project
 dedicated to this module. And I enjoy receiving your
 comments/suggestion/reports also via <http://rt.cpan.org> or
 <http://testers.cpan.org>.

AUTHOR

 Murat Uenalan, <[email protected]>

COPYRIGHT/LICENSE

 (c) 2008 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