NAME

Fukurama::Class::Extends - Pragma to extend class inheritation

VERSION

Version 0.01 (alpha)

SYNOPSIS

package MyClass;
use Fukurama::Class::Extends('MyParent');

DESCRIPTION

This pragma-like module provides some extra check features for inheritation at compiletime. It would check that your parent Module is loaded and that in multi-inheritation there is no subroutine-conflict. Use Fukurama::Class instead, to get all the features for OO.

CONFIG

You can define the check-level which describes how the module will check inheritations. The following levels are allowed:

$Fukurama::Class::Extends::CHECK_LEVEL = $Fukurama::Class::Extends::LEVEL_DISABLE

There is no check. If you use this level, it's like you use use base qw(...). There are no side effects. This level is recommended for production.

$Fukurama::Class::Extends::CHECK_LEVEL = $Fukurama::Class::Extends::LEVEL_CHECK_NONE

All registration processes are executed, but there would be no check.

$Fukurama::Class::Extends::CHECK_LEVEL = $Fukurama::Class::Extends::LEVEL_CHECK_REGISTERED

All classes, which use this module would checked for Multi-inheritation-conflicts.

$Fukurama::Class::Extends::CHECK_LEVEL = $Fukurama::Class::Extends::LEVEL_CHECK_CHILDS

All classes, which use this module AND all childs of these classes would checked for Multi-inheritation-conflicts. This is the default behavior when you does'n change the check-level.

$Fukurama::Class::Extends::CHECK_LEVEL = $Fukurama::Class::Extends::LEVEL_CHECK_ALL

All classes would checked for Multi-inheritation-conflicts. This means really ALL classes. Even all perl-internals. This level is only for the sake of completeness.

EXPORT

-

METHODS

extends( child_class:STRING, childs_parent_class:STRING ) return:VOID

Helper-method, which would executed by every pragma usage.

run_check() return:VOID

Helper method for static perl (see Fukurama::Class > BUGS)

register_class_tree() return:VOID

Helper method to register needed handler in Fukurama::Class::Tree

AUTHOR, BUGS, SUPPORT, ACKNOWLEDGEMENTS, COPYRIGHT & LICENSE

see perldoc of Fukurama::Class