org.quartz.impl.calendar
Class AnnualCalendar

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

public class AnnualCalendar
extends BaseCalendar
implements Calendar, java.io.Serializable

This implementation of the Calendar excludes a set of days of the year. You may use it to exclude bank holidays which are on the same date every year.

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

Field Summary
 
Fields inherited from interface org.quartz.Calendar
MONTH
 
Constructor Summary
AnnualCalendar()
           
AnnualCalendar(Calendar baseCalendar)
           
AnnualCalendar(Calendar baseCalendar, java.util.TimeZone timeZone)
           
AnnualCalendar(java.util.TimeZone timeZone)
           
 
Method Summary
 java.lang.Object clone()
           
 java.util.ArrayList 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(java.util.Calendar day)
           Return true, if day is defined to be exluded.
 boolean isTimeIncluded(long timeStamp)
           Determine whether the given time (in milliseconds) is 'included' by the Calendar.
 void removeExcludedDay(java.util.Calendar day)
          Remove the given day from the list of excluded days
 void setDayExcluded(java.util.Calendar day, boolean exclude)
           Redefine a certain day to be excluded (true) or included (false).
 void setDaysExcluded(java.util.ArrayList days)
           Redefine the list 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

AnnualCalendar

public AnnualCalendar()

AnnualCalendar

public AnnualCalendar(Calendar baseCalendar)

AnnualCalendar

public AnnualCalendar(java.util.TimeZone timeZone)

AnnualCalendar

public AnnualCalendar(Calendar baseCalendar,
                      java.util.TimeZone timeZone)
Method Detail

clone

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

getDaysExcluded

public java.util.ArrayList getDaysExcluded()

Get the array which defines the exclude-value of each day of month


isDayExcluded

public boolean isDayExcluded(java.util.Calendar day)

Return true, if day is defined to be exluded.


setDaysExcluded

public void setDaysExcluded(java.util.ArrayList days)

Redefine the list of days excluded. The ArrayList should contain java.util.Calendar objects.


setDayExcluded

public void setDayExcluded(java.util.Calendar day,
                           boolean exclude)

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


removeExcludedDay

public void removeExcludedDay(java.util.Calendar day)
Remove the given day from the list of excluded days

Parameters:
day -

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-2019, Terracotta, Inc.