App::JobLog::Vacation::Period - extension of App::JobLog::Log::Event to handle special properties of vacation periods
App::JobLog::Vacation::Period extends App::JobLog::Log::Event to add repeating events and flexible time events and to allow a different serialization convention such that events take a single line in their file.
Whether time in a period is "flexible". Flexible time off shrinks or expands to provide enough work hours to complete the day it occurs in.
Whether time in a period is "fixed". Fixed periods have a definite start and end time. Regular vacation time is just a fixed period of virtual work in the day but at nor particular time and flexible vacation time is just as much time as you need to fill out your work day, again without any particular start or end.
Whether this period repeats annually on a particular range of days in particular months.
Whether this period repeats monthly on a particular range of days.
Whether this vacation repeats periodically.
The description of the vacation period. Lvalue method.
clone method to add cloning of special vacation properties.
cmp method so that repeating vacations sort above non-repeating ones.
Class method parsing line in vacation into a vacation object.
Serializes period into something printable in the vacation file.
Determines whether two events overlap in time.
Converts period into list of displayable parts: time, properties, tags, description.
Whether this period concerns a single day or a longer span of time.
Adjust start and end times for annual or monthly periods then delegates to superclass method in App::JobLog::Log::Event.
David F. Houghton <firstname.lastname@example.org>
This software is copyright (c) 2011 by David F. Houghton.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.