NAME

App::TimeClock::Weekly::PrinterInterface

DESCRIPTION

Interface class. All printer objects given to App::TimeClock::Weekly::Report constructor must be derived from PrinterInterface.

SYNOPSIS

package App::TimeClock::Weekly::MyPrinter;
our @ISA = qw(App::TimeClock::Weekly::PrinterInterface);
...
sub print_header {
    ...
}
sub print_day {
    ...
}
sub print_footer {
    ...
}

METHODS

new()

Creates a new object.

_print()

Private print method that uses handle specified by _set_ouput_fh or stdout by default. All implementing classes should use _print to print instead of print. This makes testing much easier.

_get_output_fh()

Get the file handle used by _print.

_set_ouput_fh()

Set the file handle used by _print.

Called once at the start of a report.

Called for each week in the report.

Called once at the end of a report.

AUTHOR

Søren Lund, <soren at lund.org>

SEE ALSO

timeclock.pl

COPYRIGHT

Copyright (C) 2012-2014 Søren Lund

This file is part of App::TimeClock.

App::TimeClock is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

App::TimeClock is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with App::TimeClock. If not, see <http://www.gnu.org/licenses/>.