NAME

Class::Scaffold::App - Base class for framework applications

VERSION

version 1.102280

SYNOPSIS

    use parent 'Class::Scaffold::App';

    sub app_code {
        my $self = shift;
        $self->SUPER::app_code(@_);
        # ... application-specific tasks ...
    }

    main->new->run_app;

DESCRIPTION

This is the base class for applications built with the Class::Scaffold framework, be they command-line applications or server-based applications. Applications will subclass this class, implement their specific tasks and call run_app().

METHODS

run_app

This is the main method that application subclasses should invoke. It calls the other methods described here. If there is an exception, it catches and logs it.

app_code

Called by run_app() right at the beginning. Override this method in your application-specific subclass to do any initialization your application needs.

app_finish

Called by run_app() within a try/catch-block. Override this method to do the actual application-specific work.

app_init

Called by run_app() right before the end. Override this method to do any cleanup your application needs.

initialized

Normally, app_init() is called only once, namely, when the program subclasses this class and does main->new->run_app. However, if used from within mod_perl, for example, the application is a cached object and run_app() is called repeatedly from the outside. In this case, app_init() should be called only once. We do this with the boolean flag initialized().

INSTALLATION

See perlmodinstall for information and options on installing Perl modules.

BUGS AND LIMITATIONS

No bugs have been reported.

Please report any bugs or feature requests through the web interface at http://rt.cpan.org.

AVAILABILITY

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.

AUTHORS

  • Marcel Gruenauer <marcel@cpan.org>

  • Florian Helmberger <fh@univie.ac.at>

  • Achim Adam <ac@univie.ac.at>

  • Mark Hofstetter <mh@univie.ac.at>

  • Heinz Ekker <ek@univie.ac.at>

COPYRIGHT AND LICENSE

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.