
Object::groups - Pragma to implement group of properties

Included in OOTools 2.21 distribution.
The latest versions changes are reported in the Changes file in this distribution.
The distribution includes:
Pragma to implement lvalue accessors with options
Pragma to implement groups of properties accessors with options
Pragma to implement constructor methods
Pragma to implement lvalue accessors with options
Pragma to implement groups of properties accessors with options
Delayed checking of object failure
Class utility functions
Pragma to implement lvalue accessors with options
Pragma to implement groups of properties accessors with options

Perl version >= 5.6.1
perl -MCPAN -e 'install OOTools'
From the directory where this file is located, type:
perl Makefile.PL
make
make test
make install

This pragma is very similar to the Class::groups pragma: the main difference is the underlying variable that holds the value, which is a global hash in the caller package instead in the class. For example:
package BaseClass; use Package::groups 'a_package_group'; use Class::groups 'a_class_group'; package SubClass; our @ISA = 'BaseClass'; # underlaying hash for accessor 'a_package_group' is # %BaseClass::a_package_group # underlaying hash for accessor 'a_class_group' is # %SubClass::a_class_group;
This might seem a subtle difference, but the possible usage in inherited classes makes a big difference.
While you can also call a package group accessor by statically using the implementing package name (e.g. BaseClass-a_group>), regardless the subclass that uses it, overridden package accessor groups don't inherit defaults as Class accessors do.
See the documentation of the accessor groups in Class::groups for all the details.

If you need support or if you want just to send me some feedback or request, please use this link: http://perl.4pro.net/?Object::groups.

© 2004-2005 by Domizio Demichelis.
All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as perl itself.

Thanks to Juerd Waalboer (http://search.cpan.org/author/JUERD) that with its Attribute::Property inspired the creation of this distribution.