Class::Loader man page on OpenServer

Man page or keyword search:  
man Server   5388 pages
apropos Keyword Search (all sections)
Output format
OpenServer logo
[printable version]

Class::Loader(3)      User Contributed Perl Documentation     Class::Loader(3)

NAME
       Class::Loader - Load modules and create objects on demand.

VERSION
	   $Revision: 2.2 $
	   $Date: 2001/07/18 20:21:39 $

SYNOPSIS
	   package Web::Server;
	   use Class::Loader;
	   @ISA = qw(Class::Loader);

	   $self->_load( 'Content_Handler', {
				    Module => "Filter::URL",
			       Constructor => "new",
				      Args => [ ],
				}
		       );

DESCRIPTION
       Certain applications like to defer the decision to use a particular
       module till runtime. This is possible in perl, and is a useful trick in
       situations where the type of data is not known at compile time and the
       application doesn't wish to pre-compile modules to handle all types of
       data it can work with. Loading modules at runtime can also provide
       flexible interfaces for perl modules. Modules can let the programmer
       decide what modules will be used by it instead of hard-coding their
       names.

       Class::Loader is an inheritable class that provides a method, _load(),
       to load a module from disk and construct an object by calling its con-
       structor. It also provides a way to map modules names and associated
       metadata with symbolic names that can be used in place of module names
       at _load().

METHODS
       new()
	   A basic constructor. You can use this to create an object of
	   Class::Loader, in case you don't want to inherit Class::Loader.

       _load()
	   _load() loads a module and calls its constructor. It returns the
	   newly constructed object on success or a non-true value on failure.
	   The first argument can be the name of the key in which the returned
	   object is stored. This argument is optional. The second (or the
	   first) argument is a hash which can take the following keys:

	   Module
	       This is name of the class to load. (It is not the module's
	       filename.)

	   Name
	       Symbolic name of the module defined with _storemap(). Either
	       one of Module or Name keys must be present in a call to
	       _load().

	   Constructor
	       Name of the Module constructor. Defaults to "new".

	   Args
	       A reference to the list of arguments for the constructor.
	       _load() calls the constructor with this list. If no Args are
	       present, _load() will call the constructor without any argu-
	       ments.

	   CPAN
	       If the Module is not installed on the local system, _load() can
	       fetch & install it from CPAN provided the CPAN key is present.
	       This functionality assumes availability of a pre-configured
	       CPAN shell.

       _storemap()
	   Class::Loader maintains a class table that maps symbolic names to
	   parameters accepted by _load(). It takes a hash as argument whose
	   keys are symbolic names and value are hash references that contain
	   a set of _load() arguments. Here's an example:

	       $self->_storemap ( "URL" => { Module => "Filter::URL",
					     Constructor => "foo",
					     Args => [qw(bar baz)],
					   }
				);

	       # time passes...

	       $self->{handler} = $self->_load ( Name => 'URL' );

       _retrmap()
	   _retrmap() returns the entire map stored with Class::Loader.
	   Class::Loader maintains separate maps for different classes, and
	   _retrmap() returns the map valid in the caller class.

SEE ALSO
       AnyLoader(3)

AUTHOR
       Vipul Ved Prakash, <mail@vipul.net>

LICENSE
       Copyright (c) 2001, Vipul Ved Prakash. All rights reserved. This code
       is free software; you can redistribute it and/or modify it under the
       same terms as Perl itself.

perl v5.8.8			  2005-04-27		      Class::Loader(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OpenServer

List of man pages available for OpenServer

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net