Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

class::makemethods::utility::inheritable(3pm) [debian man page]

MakeMethods::Utility::Inheritable(3pm)			User Contributed Perl Documentation		    MakeMethods::Utility::Inheritable(3pm)

NAME
Class::MakeMethods::Utility::Inheritable - "Inheritable" data SYNOPSIS
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 perl v5.10.1 2004-09-06 MakeMethods::Utility::Inheritable(3pm)

Check Out this Related Man Page

MakeMethods::Emulator(3pm)				User Contributed Perl Documentation				MakeMethods::Emulator(3pm)

NAME
Class::MakeMethods::Emulator - Demonstrate class-generator equivalency SYNOPSIS
# Equivalent to use Class::Singleton; use Class::MakeMethods::Emulator::Singleton; # Equivalent to use Class::Struct; use Class::MakeMethods::Emulator::Struct; struct ( ... ); # Equivalent to use Class::MethodMaker( ... ); use Class::MakeMethods::Emulator::MethodMaker( ... ); # Equivalent to use base 'Class::Inheritable'; use base 'Class::MakeMethods::Emulator::Inheritable'; MyClass->mk_classdata( ... ); # Equivalent to use base 'Class::AccessorFast'; use base 'Class::MakeMethods::Emulator::AccessorFast'; MyClass->mk_accessors(qw(this that whatever)); # Equivalent to use accessors( ... ); use Class::MakeMethods::Emulator::accessors( ... ); # Equivalent to use mcoder( ... ); use Class::MakeMethods::Emulator::mcoder( ... ); DESCRIPTION
In several cases, Class::MakeMethods provides functionality closely equivalent to that of an existing module, and it is simple to map the existing module's interface to that of Class::MakeMethods. Class::MakeMethods::Emulator provides emulators for Class::MethodMaker, Class::Accessor::Fast, Class::Data::Inheritable, Class::Singleton, Class::Struct, accessors, and mcoder, each of which passes the original module's test suite, usually requiring only the addition of a a single line to each test, activating the emulation module. Beyond demonstrating compatibility, these emulators also generally indicate the changes needed to switch to direct use of Class::MakeMethods functionality, illustrate commonalities between the various modules, and serve as a source for new ideas that can be integrated into Class::MakeMethods. SEE ALSO
See Class::MakeMethods for general information about this distribution. See Class::MakeMethods::Emulator::accessors, and accessors from CPAN. See Class::MakeMethods::Emulator::Struct, and Class::Struct from CPAN. See Class::MakeMethods::Emulator::AccessorFast, and Class::Accessor::Fast from CPAN. See Class::MakeMethods::Emulator::Inheritable, and Class::Data::Inheritable from CPAN. See Class::MakeMethods::Emulator::MethodMaker, and Class::MethodMaker from CPAN. See Class::MakeMethods::Emulator::Singleton, and Class::Singleton from CPAN. See Class::MakeMethods::Emulator::mcoder, and mcoder from CPAN. perl v5.10.1 2004-09-06 MakeMethods::Emulator(3pm)
Man Page