Class::Scaffold::Base - large-scale OOP application support
Class::Scaffold::Base->new;
new
my $obj = Class::Scaffold::Base->new; my $obj = Class::Scaffold::Base->new(%args);
Creates and returns a new object. The constructor will accept as arguments a list of pairs, from component name to initial value. For each pair, the named component is initialized by calling the method of the same name with the given value. If called with a single hash reference, it is dereferenced and its key/value pairs are set as described before.
This method is used by the constructor to order key-value pairs that are passed to the newly created object's accessors - see Class::Accessor::Constructor. This class just defines it as an empty list; subclasses should override it as necessary. The method exists in this class so even if subclasses don't override it, there's something for the constructor mechanism to work with.
MUNGE_CONSTRUCTOR_ARGS
This method is used by the constructor to munge the constructor arguments - see Class::Accessor::Constructor. This class' method just returns the arguments as is; subclasses should override it as necessary. The method exists in this class so even if subclasses don't override it, there's something for the constructor mechanism to work with.
add_autoloaded_package
This class method takes a single prefix and adds it to the list - set, really - of packages whose methods should be autoloaded. The Class::Scaffold framework will typically be used by an application whose classes are stored in and underneath a package namespace. To avoid having to load all classes explicitly, you can pass the namespace to this method. This class defines a UNIVERSAL::AUTOLOAD that respects the set of classes it should autoload methods for.
init
This method is called at the end of the constructor - see Class::Accessor::Constructor. This class' method does nothing; subclasses should override it and wrap it with SUPER:: as necessary. The method exists in this class so even if subclasses don't override it, there's something for the constructor mechanism to work with.
SUPER::
log
This method acts as a shortcut to Class::Scaffold::Log. Instead of writing
use Class::Scaffold::Log; Class::Scaffold::Log->instance->debug('foo');
you can simply write
$self->log->debug('foo');
Class::Scaffold::Base inherits from Data::Inherited, Data::Comparable, Error::Hierarchy::Mixin, Class::Scaffold::Delegate::Mixin, Class::Scaffold::Accessor, Class::Scaffold::Factory::Type, and Class::Accessor::Constructor::Base.
The superclass Data::Inherited defines these methods and functions:
every_hash(), every_list(), flush_every_cache_by_key()
The superclass Data::Comparable defines these methods and functions:
comparable(), comparable_scalar(), dump_comparable(), prepare_comparable(), yaml_dump_comparable()
The superclass Class::Scaffold::Delegate::Mixin defines these methods and functions:
delegate()
The superclass Class::Scaffold::Accessor defines these methods and functions:
mk_framework_object_accessors(), mk_framework_object_array_accessors(), mk_readonly_accessors()
The superclass Class::Accessor::Complex defines these methods and functions:
mk_abstract_accessors(), mk_array_accessors(), mk_boolean_accessors(), mk_class_array_accessors(), mk_class_hash_accessors(), mk_class_scalar_accessors(), mk_concat_accessors(), mk_forward_accessors(), mk_hash_accessors(), mk_integer_accessors(), mk_new(), mk_object_accessors(), mk_scalar_accessors(), mk_set_accessors(), mk_singleton()
The superclass Class::Accessor defines these methods and functions:
_carp(), _croak(), _mk_accessors(), accessor_name_for(), best_practice_accessor_name_for(), best_practice_mutator_name_for(), follow_best_practice(), get(), make_accessor(), make_ro_accessor(), make_wo_accessor(), mk_accessors(), mk_ro_accessors(), mk_wo_accessors(), mutator_name_for(), set()
The superclass Class::Accessor::Installer defines these methods and functions:
install_accessor()
The superclass Class::Accessor::Constructor defines these methods and functions:
_make_constructor(), mk_constructor(), mk_constructor_with_dirty(), mk_singleton_constructor()
The superclass Class::Accessor::FactoryTyped defines these methods and functions:
clear_factory_typed_accessors(), clear_factory_typed_array_accessors(), count_factory_typed_accessors(), count_factory_typed_array_accessors(), factory_typed_accessors(), factory_typed_accessors_clear(), factory_typed_accessors_count(), factory_typed_accessors_index(), factory_typed_accessors_pop(), factory_typed_accessors_push(), factory_typed_accessors_set(), factory_typed_accessors_shift(), factory_typed_accessors_splice(), factory_typed_accessors_unshift(), factory_typed_array_accessors(), factory_typed_array_accessors_clear(), factory_typed_array_accessors_count(), factory_typed_array_accessors_index(), factory_typed_array_accessors_pop(), factory_typed_array_accessors_push(), factory_typed_array_accessors_set(), factory_typed_array_accessors_shift(), factory_typed_array_accessors_splice(), factory_typed_array_accessors_unshift(), index_factory_typed_accessors(), index_factory_typed_array_accessors(), mk_factory_typed_accessors(), mk_factory_typed_array_accessors(), pop_factory_typed_accessors(), pop_factory_typed_array_accessors(), push_factory_typed_accessors(), push_factory_typed_array_accessors(), set_factory_typed_accessors(), set_factory_typed_array_accessors(), shift_factory_typed_accessors(), shift_factory_typed_array_accessors(), splice_factory_typed_accessors(), splice_factory_typed_array_accessors(), unshift_factory_typed_accessors(), unshift_factory_typed_array_accessors()
The superclass Class::Scaffold::Factory::Type defines these methods and functions:
factory_log()
The superclass Class::Factory::Enhanced defines these methods and functions:
add_factory_type(), make_object_for_type(), register_factory_type()
The superclass Class::Factory defines these methods and functions:
factory_error(), get_factory_class(), get_factory_type_for(), get_loaded_classes(), get_loaded_types(), get_my_factory(), get_my_factory_type(), get_registered_class(), get_registered_classes(), get_registered_types(), remove_factory_type(), unregister_factory_type()
The superclass Class::Accessor::Constructor::Base defines these methods and functions:
STORE(), clear_dirty(), clear_hygienic(), clear_unhygienic(), contains_hygienic(), contains_unhygienic(), delete_hygienic(), delete_unhygienic(), dirty(), dirty_clear(), dirty_set(), elements_hygienic(), elements_unhygienic(), hygienic(), hygienic_clear(), hygienic_contains(), hygienic_delete(), hygienic_elements(), hygienic_insert(), hygienic_is_empty(), hygienic_size(), insert_hygienic(), insert_unhygienic(), is_empty_hygienic(), is_empty_unhygienic(), set_dirty(), size_hygienic(), size_unhygienic(), unhygienic(), unhygienic_clear(), unhygienic_contains(), unhygienic_delete(), unhygienic_elements(), unhygienic_insert(), unhygienic_is_empty(), unhygienic_size()
The superclass Tie::StdHash defines these methods and functions:
CLEAR(), DELETE(), EXISTS(), FETCH(), FIRSTKEY(), NEXTKEY(), SCALAR(), TIEHASH()
No bugs have been reported.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org.
See perlmodinstall for information and options on installing Perl modules.
The latest version of this module is available from the Comprehensive Perl Archive Network (CPAN). Visit <http://www.perl.com/CPAN/> to find a CPAN site near you. Or see <http://www.perl.com/CPAN/authors/id/M/MA/MARCEL/>.
Florian Helmberger <fh@univie.ac.at>
<fh@univie.ac.at>
Achim Adam <ac@univie.ac.at>
<ac@univie.ac.at>
Mark Hofstetter <mh@univie.ac.at>
<mh@univie.ac.at>
Heinz Ekker <ek@univie.ac.at>
<ek@univie.ac.at>
Marcel Grünauer, <marcel@cpan.org>
<marcel@cpan.org>
Copyright 2004-2009 by the authors.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Class::Scaffold, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Class::Scaffold
CPAN shell
perl -MCPAN -e shell install Class::Scaffold
For more information on module installation, please visit the detailed CPAN module installation guide.