Class::Scaffold::BusinessObject - Base class for framework business objects
This method will be called with an instruction container object and is expected to apply the instructions contained therein to the business object. In this base class the method does nothing; subclasses will implement it.
Checks that the business object defines a key. If it does not, an exception is raised.
This method is given an exception container, which it fills with exceptions that arise from checking. Since we're dealing exclusively with value objects, we can check for valid characters, field lengths, some wellformedness and validity (in case of email value objects, for example), all from within the business objects themselves. By moving part of the checking code into the objects themselves we make the policy stage more generic. Other registries can simply define business objects in terms of different value objects.
If the business object has a defined key, it will be updated, otherwise it will be stored. The business object will have a key when it has been stored or originally read from the storage. New business objects that haven't been stored yet won't have a key, so they will be inserted.
Returns a value pair where the first value is the object type and the second value is the business object's key.
FIXME: This method is used in conjunction with keywords in Registry-Core and might be better placed in that distribution.
See perlmodinstall for information and options on installing Perl modules.
No bugs have been reported.
Please report any bugs or feature requests through the web interface at http://rt.cpan.org.
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://search.cpan.org/dist/Class-Scaffold/.
The development version lives at http://github.com/hanekomu/Class-Scaffold/. Instead of sending patches, please fork this project using the standard git and github infrastructure.
This software is copyright (c) 2008 by Marcel Gruenauer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.