|
NAMEClass::ObjectTemplate - Perl extension for an optimized template builder base class.SYNOPSISpackage Foo; use Class::ObjectTemplate; require Exporter; @ISA = qw(Class::ObjectTemplate Exporter); attributes('one', 'two', 'three'); # initialize will be called by new() sub initialize { my $self = shift; $self->three(1) unless defined $self->three(); } use Foo; $foo = Foo->new(); # store 27 in the 'one' attribute $foo->one(27); # check the value in the 'two' attribute die "should be undefined" if defined $foo->two(); # set using the utility method $foo->set_attribute('one',27); # check using the utility method $two = $foo->get_attribute('two'); # set more than one attribute using the named parameter style $foo->set_attributes('one'=>27, 'two'=>42); # or using array references $foo->set_attributes(['one','two'],[27,42]); # get more than one attribute @list = $foo->get_attributes('one', 'two'); # get a list of all attributes known by an object @attrs = $foo->get_attribute_names(); # check that initialize() is called properly die "initialize didn't set three()" unless $foo->three(); DESCRIPTIONClass::ObjectTemplate is a utility class to assist in the building of other Object Oriented Perl classes.It was described in detail in the O\'Reilly book, "Advanced Perl Programming" by Sriram Srinivasam. EXPORTattributes(@name_list)This method creates a shared setter and getter methods for every name in the list. The method also creates the class constructor, "new()". WARNING: This method must be invoked within the module for every class that inherits from Class::ObjectTemplate, even if that class defines no attributes. For a class defining no new attributes, it should invoke "attributes()" with no arguments. AUTHOROriginal code by Sriram Srinivasam.Fixes and CPAN module by Jason E. Stewart (jason@openinformatics.com) SEE ALSOhttp://www.oreilly.com/catalog/advperl/perl(1). Class::ObjectTemplate::DB
Visit the GSP FreeBSD Man Page Interface. |