Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

class::makemethods::composite::universal(3pm) [debian man page]

MakeMethods::Composite::Universal(3pm)			User Contributed Perl Documentation		    MakeMethods::Composite::Universal(3pm)

NAME
Class::MakeMethods::Composite::Universal - Composite Method Tricks SYNOPSIS
Class::MakeMethods::Composite::Universal->make_patch( -TargetClass => 'SomeClass::OverYonder', name => 'foo', pre_rules => [ sub { my $method = pop; warn "Arguments for foo:", @_ } ] post_rules => [ sub { warn "Result of foo:", Class::MakeMethods::Composite->CurrentResults } ] ); DESCRIPTION
The Composite::Universal suclass of MakeMethods provides some generally-applicable types of methods based on Class::MakeMethods::Composite. METHOD GENERATOR TYPES
patch The patch ruleset generates composites whose core behavior is based on an existing subroutine. Here's a sample usage: sub foo { my $count = shift; return 'foo' x $count; } Class::MakeMethods::Composite::Universal->make( -ForceInstall => 1, patch => { name => 'foo', pre_rules => [ sub { my $method = pop @_; if ( ! scalar @_ ) { @{ $method->{args} } = ( 2 ); } }, sub { my $method = pop @_; my $count = shift; if ( $count > 99 ) { Carp::confess "Won't foo '$count' -- that's too many!" } }, ], post_rules => [ sub { my $method = pop @_; if ( ref $method->{result} eq 'SCALAR' ) { ${ $method->{result} } =~ s/oof/oozle-f/g; } elsif ( ref $method->{result} eq 'ARRAY' ) { map { s/oof/oozle-f/g } @{ $method->{result} }; } } ], }, ); make_patch A convenient wrapper for "make()" and the "patch" method generator. Provides the '-ForceInstall' flag, which is required to ensure that the patched subroutine replaces the original. For example, one could add logging to an existing method as follows: Class::MakeMethods::Composite::Universal->make_patch( -TargetClass => 'SomeClass::OverYonder', name => 'foo', pre_rules => [ sub { my $method = pop; warn "Arguments for foo:", @_ } ] post_rules => [ sub { warn "Result of foo:", Class::MakeMethods::Composite->CurrentResults } ] ); SEE ALSO
See Class::MakeMethods for general information about this distribution. See Class::MakeMethods::Composite for more about this family of subclasses. perl v5.10.1 2004-09-06 MakeMethods::Composite::Universal(3pm)

Check Out this Related Man Page

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

NAME
Class::MakeMethods::Emulator::Singleton - Emulate Class::Singleton SYNOPSIS
use Class::MakeMethods::Emulator::Singleton; # returns a new instance my $one = Class::MakeMethods::Emulator::Singleton->instance(); # returns same instance my $two = Class::MakeMethods::Emulator::Singleton->instance(); COMPATIBILITY
This module emulates the functionality of Class::Singleton, using Class::MakeMethods to generate similar methods. You may use it directly, as shown in the SYNOPSIS above, Furthermore, you may call "use Class::MakeMethods::Emulator::Singleton '-take_namespace';" to alias the Class::Singleton namespace to this package, and subsequent calls to the original package will be transparently handled by this emulator. To remove the emulation aliasing, call "use Class::MakeMethods::Emulator::Singleton '-release_namespace'". Caution: This affects all subsequent uses of Class::Singleton in your program, including those in other modules, and might cause unexpected effects. DESCRIPTION
A Singleton describes an object class that can have only one instance in any system. An example of a Singleton might be a print spooler or system registry. This module implements a Singleton class from which other classes can be derived. By itself, the Class::Singleton module does very little other than manage the instantiation of a single object. In deriving a class from Class::Singleton, your module will inherit the Singleton instantiation method and can implement whatever specific functionality is required. SEE ALSO
See Class::MakeMethods for general information about this distribution. See Class::MakeMethods::Emulator for more about this family of subclasses. See Class::Singleton for documentation of the original module. For a description and discussion of the Singleton class, see "Design Patterns", Gamma et al, Addison-Wesley, 1995, ISBN 0-201-63361-2. See "new" in Class::MakeMethods::Hash and "instance" in Class::MakeMethods::ClassVar for documentation of the created methods. perl v5.10.1 2004-09-06 MakeMethods::Emulator::Singleton(3pm)
Man Page