NAME
Object::groups - Pragma to implement group of properties
VERSION 2.40
Included in OOTools 2.21 distribution.
The latest versions changes are reported in the Changes file in this distribution.
The distribution includes:
- Package::props
-
Pragma to implement lvalue accessors with options
- Package::groups
-
Pragma to implement groups of properties accessors with options
- Class::constr
-
Pragma to implement constructor methods
- Class::props
-
Pragma to implement lvalue accessors with options
- Class::groups
-
Pragma to implement groups of properties accessors with options
- Class::Error
-
Delayed checking of object failure
- Class::Util
-
Class utility functions
- Object::props
-
Pragma to implement lvalue accessors with options
- Object::groups
-
Pragma to implement groups of properties accessors with options
INSTALLATION
- Prerequisites
-
Perl version >= 5.6.1
- CPAN
-
perl -MCPAN -e 'install OOTools'
- Standard installation
-
From the directory where this file is located, type:
perl Makefile.PL make make test make install
DESCRIPTION
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.
SUPPORT and FEEDBACK
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.
AUTHOR and COPYRIGHT
Copyright 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.
CREDITS
Thanks to Juerd Waalboer (http://search.cpan.org/author/JUERD) that with its Attribute::Property inspired the creation of this distribution.