org.oddjob.schedules.schedules
Class DayBeforeSchedule

java.lang.Object
  extended by org.oddjob.schedules.AbstractSchedule
      extended by org.oddjob.schedules.schedules.DayBeforeSchedule
All Implemented Interfaces:
Serializable, RefineableSchedule, Schedule

public class DayBeforeSchedule
extends AbstractSchedule
implements Serializable

Description

A schedule that returns the day before when it's parent schedule is due.

This is designed to be used with the BrokenSchedule's alternative property to move processing to the day before the holiday.

Example

A schedule for the last day of the month, or the previous working day if the last day falls on a non working day.
<schedules:broken xmlns:schedules="http://rgordon.co.uk/oddjob/schedules">
    <schedule>
        <schedules:monthly onDay="LAST">
                <refinement>
                    <schedules:time at="17:00"/>
                </refinement>
        </schedules:monthly>
    </schedule>
    <breaks>
        <schedules:list>
            <schedules>
                <schedules:weekly from="SATURDAY" to="SUNDAY"/>
                <value value="${holidays}"/>
            </schedules>
        </schedules:list>        
    </breaks>
    <alternative>
        <schedules:day-before>
            <refinement>
                <schedules:time at="21:00"/>
            </refinement>
        </schedules:day-before>
    </alternative>
</schedules:broken>
Note that the refinement schedules for a different time when the day before is used. This reflects the situation where data is often available later before a weekend or holiday.
See Also:
Serialized Form
Author:
Rob Gordon

Constructor Summary
DayBeforeSchedule()
           
 
Method Summary
 ScheduleResult nextDue(ScheduleContext context)
          For a given date a schedule will provide the interval this schedule should next be scheduled in.
 String toString()
          Override toString.
 
Methods inherited from class org.oddjob.schedules.AbstractSchedule
getRefinement, setRefinement
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DayBeforeSchedule

public DayBeforeSchedule()
Method Detail

nextDue

public ScheduleResult nextDue(ScheduleContext context)
Description copied from interface: Schedule
For a given date a schedule will provide the interval this schedule should next be scheduled in.

If the schedule is never due again for the given date, null is returned.

Specified by:
nextDue in interface Schedule
Returns:
The next due interval for the schedule.

toString

public String toString()
Override toString.

Overrides:
toString in class Object