Rechercher une page de manuel
Class::MakeMethods::Utility::Inheritable.3pm
Langue: en
Version: 2004-09-06 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
Class::MakeMethods::Utility::Inheritable - "Inheritable" dataSYNOPSIS
package MyClass; sub new { ... } package MySubclass; @ISA = 'MyClass'; ... my $obj = MyClass->new(...); my $subobj = MySubclass->new(...); use Class::MakeMethods::Utility::Inheritable qw(get_vvalue set_vvalue ); my $dataset = {}; set_vvalue($dataset, 'MyClass', 'Foobar'); # Set value for class get_vvalue($dataset, 'MyClass'); # Gets value "Foobar" get_vvalue($dataset, $obj); # Objects "inherit" set_vvalue($dataset, $obj, 'Foible'); # Until you override get_vvalue($dataset, $obj); # Now finds "Foible" get_vvalue($dataset, 'MySubclass'); # Subclass "inherits" get_vvalue($dataset, $subobj); # As do its objects set_vvalue($dataset, 'MySubclass', 'Foozle'); # Until we override it get_vvalue($dataset, 'MySubclass'); # Now finds "Foozle" get_vvalue($dataset, $subobj); # Change cascades down set_vvalue($dataset, $subobj, 'Foolish'); # Until we override again get_vvalue($dataset, 'MyClass'); # Superclass is unchanged
DESCRIPTION
This module provides several functions which allow you to store values in a hash corresponding to both objects and classes, and to retrieve those values by searching a object's inheritance tree until it finds a matching entry.This functionality is used by Class::MakeMethods::Standard::Inheritable and Class::MakeMethods::Composite::Inheritable to construct methods that can both store class data and be overriden on a per-object level.
REFERENCE
find_vself
$vself = find_vself( $dataset, $instance );
Searches $instance's inheritance tree until it finds a matching entry in the dataset, and returns either the instance, the class that matched, or undef.
get_vvalue
$value = get_vvalue( $dataset, $instance );
Searches $instance's inheritance tree until it finds a matching entry in the dataset, and returns that value
set_vvalue
$value = set_vvalue( $dataset, $instance, $value );
Searches $instance's inheritance tree until it finds a matching entry in the dataset, and returns that value
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre