org.quartz.impl.calendar
Class MonthlyCalendar

java.lang.Object
  extended by org.quartz.impl.calendar.BaseCalendar
      extended by org.quartz.impl.calendar.MonthlyCalendar
All Implemented Interfaces:
Serializable, Cloneable, Calendar

public class MonthlyCalendar
extends BaseCalendar
implements Calendar, Serializable

This implementation of the Calendar excludes a set of days of the month. You may use it to exclude every first day of each month for example. But you may define any day of a month.

Author:
Juergen Donnerstag
See Also:
Calendar, BaseCalendar, Serialized Form

Field Summary
 
Fields inherited from interface org.quartz.Calendar
MONTH
 
Constructor Summary
MonthlyCalendar()
           
MonthlyCalendar(Calendar baseCalendar)
           
MonthlyCalendar(Calendar baseCalendar, TimeZone timeZone)
           
MonthlyCalendar(TimeZone timeZone)
           
 
Method Summary
 boolean areAllDaysExcluded()
           Check if all days are excluded.
 Object clone()
           
 boolean[] getDaysExcluded()
           Get the array which defines the exclude-value of each day of month.
 long getNextIncludedTime(long timeStamp)
           Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time.
 boolean isDayExcluded(int day)
           Return true, if day is defined to be excluded.
 boolean isTimeIncluded(long timeStamp)
           Determine whether the given time (in milliseconds) is 'included' by the Calendar.
 void setDayExcluded(int day, boolean exclude)
           Redefine a certain day of the month to be excluded (true) or included (false).
 void setDaysExcluded(boolean[] days)
           Redefine the array of days excluded.
 
Methods inherited from class org.quartz.impl.calendar.BaseCalendar
createJavaCalendar, createJavaCalendar, getBaseCalendar, getDescription, getEndOfDayJavaCalendar, getStartOfDayJavaCalendar, getTimeZone, setBaseCalendar, setDescription, setTimeZone
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.quartz.Calendar
getBaseCalendar, getDescription, setBaseCalendar, setDescription
 

Constructor Detail

MonthlyCalendar

public MonthlyCalendar()

MonthlyCalendar

public MonthlyCalendar(Calendar baseCalendar)

MonthlyCalendar

public MonthlyCalendar(TimeZone timeZone)

MonthlyCalendar

public MonthlyCalendar(Calendar baseCalendar,
                       TimeZone timeZone)
Method Detail

clone

public Object clone()
Specified by:
clone in interface Calendar
Overrides:
clone in class BaseCalendar

getDaysExcluded

public boolean[] getDaysExcluded()

Get the array which defines the exclude-value of each day of month. Only the first 31 elements of the array are relevant, with the 0 index element representing the first day of the month.


isDayExcluded

public boolean isDayExcluded(int day)

Return true, if day is defined to be excluded.

Parameters:
day - The day of the month (from 1 to 31) to check.

setDaysExcluded

public void setDaysExcluded(boolean[] days)

Redefine the array of days excluded. The array must non-null and of size greater or equal to 31. The 0 index element represents the first day of the month.


setDayExcluded

public void setDayExcluded(int day,
                           boolean exclude)

Redefine a certain day of the month to be excluded (true) or included (false).

Parameters:
day - The day of the month (from 1 to 31) to set.

areAllDaysExcluded

public boolean areAllDaysExcluded()

Check if all days are excluded. That is no day is included.


isTimeIncluded

public boolean isTimeIncluded(long timeStamp)

Determine whether the given time (in milliseconds) is 'included' by the Calendar.

Note that this Calendar is only has full-day precision.

Specified by:
isTimeIncluded in interface Calendar
Overrides:
isTimeIncluded in class BaseCalendar
See Also:
Calendar.isTimeIncluded(long)

getNextIncludedTime

public long getNextIncludedTime(long timeStamp)

Determine the next time (in milliseconds) that is 'included' by the Calendar after the given time. Return the original value if timeStamp is included. Return 0 if all days are excluded.

Note that this Calendar is only has full-day precision.

Specified by:
getNextIncludedTime in interface Calendar
Overrides:
getNextIncludedTime in class BaseCalendar
See Also:
Calendar.getNextIncludedTime(long)


Copyright 2001-2015, Terracotta, Inc.