Provided by: libmethod-autoload-perl_0.02-2_all
NAME
Method::Autoload - Autoloads methods from a list of packages into the current package
SYNOPSIS
package MyPackage; use base qw{Method::Autoload}
DESCRIPTION
The Method::Autoload base class package is used to autoload methods from a list of packages where you may not know what methods are available until run time. A good use of this package is programming support for user contributed packages or user contributed plugins.
USAGE
use MyPackage; my $object=MyPackage->new(%hash); #provides new and initialize methods $object->pushPackages("My::Bar"); #appends to "packages" array $object->unshiftPackages("My::Foo"); #prepends to "packages" array use MyPackage; my $object=MyPackage->new(packages=>["My::Foo", "My::Bar"]); $object->foo; #from My::Foo $object->bar; #from My::Bar
CONSTRUCTOR
new my $object=MyPackage->new(%hash); my $object=MyPackage->new(package=>["My::Package1", "My::Package2"]); initialize
METHODS PUBLIC
packages Returns the current list of packages in the "packages" array. my @package=$object->packages; #() my $package=$object->packages; #[] pushPackages Pushes packages on to the "packages" array. $object->pushPackages("My::Bar"); $object->pushPackages(@packages); unshiftPackages Unshifts packages on to the "packages" array. Use this if you want to override a "default" package. Please use with care. $object->unshiftPackages("My::Foo"); $object->unshiftPackages(@packages); autoloaded Returns a hash of autoloaded methods and the classes that they came from. my %hash=$object->autoloaded; #() my $hash=$object->autoloaded; #{}
METHODS PRIVATE
DESTROY ("Global" method) We define DESTROY in this package so that it does not call AUTOLOAD but you may overload this method in your package, if you need it. AUTOLOAD ("Global" method) AUTOLOAD is a "global" method. Please review the limitations on inheriting this method. autoload my $subref=$object->autoload($class, $method);
BUGS
DavisNetworks.com provides support services for all Perl applications including this package.
SUPPORT
AUTHOR
Michael R. Davis CPAN ID: MRDVT STOP, LLC domain=>michaelrdavis,tld=>com,account=>perl http://www.stopllc.com/
COPYRIGHT
This program is free software licensed under the... The BSD License The full text of the license can be found in the LICENSE file included with this module.
SEE ALSO
Class::Std AUTOMETHOD method,