Object::groups - Pragma to implement group of properties


OOTools documentation Contained in the OOTools distribution.

Index


Code Index:

NAME

Top

Object::groups - Pragma to implement group of properties

VERSION 2.21

Top

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

Top

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

Top

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

Top

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

Top

CREDITS

Top

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


OOTools documentation Contained in the OOTools distribution.

package Package::groups ;
$VERSION = 2.21 ;
use 5.006_001 ;
use strict ;

; use Class::groups
; our @ISA = qw| Class::groups |
   
; 1

__END__