org.quartz.impl.calendar
Class DailyCalendar

java.lang.Object
  extended byorg.quartz.impl.calendar.BaseCalendar
      extended byorg.quartz.impl.calendar.DailyCalendar
All Implemented Interfaces:
Calendar, Serializable

public class DailyCalendar
extends BaseCalendar

This implementation of the Calendar excludes (or includes - see below) a specified time range each day. For example, you could use this calendar to exclude business hours (8AM - 5PM) every day. Each DailyCalendar only allows a single time range to be specified, and that time range may not cross daily boundaries (i.e. you cannot specify a time range from 8PM - 5AM). If the property invertTimeRange is false (default), the time range defines a range of times in which triggers are not allowed to fire. If invertTimeRange is true, the time range is inverted – that is, all times outside the defined time range are excluded.

Note when using DailyCalendar, it behaves on the same principals as, for example, WeeklyCalendar. WeeklyCalendar defines a set of days that are excluded every week. Likewise, DailyCalendar defines a set of times that are excluded every day.

Version:
$Revision: 1.1.2.1 $ $Date: 2006/02/12 04:24:46 $
Author:
Mike Funk, Aaron Craven
See Also:
Serialized Form

Field Summary
 
Fields inherited from interface org.quartz.Calendar
MONTH
 
Constructor Summary
DailyCalendar(String name, Calendar rangeStartingCalendar, Calendar rangeEndingCalendar)
          Create a DailyCalendar with a time range defined by the specified java.util.Calendars and no baseCalendar.
DailyCalendar(String name, Calendar baseCalendar, Calendar rangeStartingCalendar, Calendar rangeEndingCalendar)
          Create a DailyCalendar with a time range defined by the specified java.util.Calendars and the specified baseCalendar.
DailyCalendar(String name, Calendar baseCalendar, int rangeStartingHourOfDay, int rangeStartingMinute, int rangeStartingSecond, int rangeStartingMillis, int rangeEndingHourOfDay, int rangeEndingMinute, int rangeEndingSecond, int rangeEndingMillis)
          Create a DailyCalendar with a time range defined by the specified values and the specified baseCalendar.
DailyCalendar(String name, Calendar baseCalendar, long rangeStartingTimeInMillis, long rangeEndingTimeInMillis)
          Create a DailyCalendar with a time range defined by the specified values and the specified baseCalendar.
DailyCalendar(String name, Calendar baseCalendar, String rangeStartingTime, String rangeEndingTime)
          Create a DailyCalendar with a time range defined by the specified strings and the specified baseCalendar.
DailyCalendar(String name, int rangeStartingHourOfDay, int rangeStartingMinute, int rangeStartingSecond, int rangeStartingMillis, int rangeEndingHourOfDay, int rangeEndingMinute, int rangeEndingSecond, int rangeEndingMillis)
          Create a DailyCalendar with a time range defined by the specified values and no baseCalendar.
DailyCalendar(String name, long rangeStartingTimeInMillis, long rangeEndingTimeInMillis)
          Create a DailyCalendar with a time range defined by the specified values and no baseCalendar.
DailyCalendar(String name, String rangeStartingTime, String rangeEndingTime)
          Create a DailyCalendar with a time range defined by the specified strings and no baseCalendar.
 
Method Summary
 boolean getInvertTimeRange()
          Indicates whether the time range represents an inverted time range (see class description).
 String getName()
          Returns the name of the DailyCalendar
 long getNextIncludedTime(long timeInMillis)
          Determines the next time included by the DailyCalendar after the specified time.
 long getTimeRangeEndingTimeInMillis(long timeInMillis)
          Returns the end time of the time range (in milliseconds) of the day specified in timeInMillis
 long getTimeRangeStartingTimeInMillis(long timeInMillis)
          Returns the start time of the time range (in milliseconds) of the day specified in timeInMillis
 boolean isTimeIncluded(long timeInMillis)
          Determines whether the given time (in milliseconds) is 'included' by the BaseCalendar
 void setInvertTimeRange(boolean flag)
          Indicates whether the time range represents an inverted time range (see class description).
 String toString()
          Returns a string representing the properties of the DailyCalendar
 
Methods inherited from class org.quartz.impl.calendar.BaseCalendar
buildHoliday, buildHoliday, getBaseCalendar, getDescription, getJavaCalendar, setBaseCalendar, setDescription
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

DailyCalendar

public DailyCalendar(String name,
                     String rangeStartingTime,
                     String rangeEndingTime)
Create a DailyCalendar with a time range defined by the specified strings and no baseCalendar. rangeStartingTime and rangeEndingTime must be in the format "HH:MM[:SS[:mmm]]" where:

Parameters:
name - the name for the DailyCalendar
rangeStartingTime - a String representing the starting time for the time range
rangeEndingTime - a String representing the ending time for the the time range

DailyCalendar

public DailyCalendar(String name,
                     Calendar baseCalendar,
                     String rangeStartingTime,
                     String rangeEndingTime)
Create a DailyCalendar with a time range defined by the specified strings and the specified baseCalendar. rangeStartingTime and rangeEndingTime must be in the format "HH:MM[:SS[:mmm]]" where:

Parameters:
name - the name for the DailyCalendar
baseCalendar - the base calendar for this calendar instance – see BaseCalendar for more information on base calendar functionality
rangeStartingTime - a String representing the starting time for the time range
rangeEndingTime - a String representing the ending time for the time range

DailyCalendar

public DailyCalendar(String name,
                     int rangeStartingHourOfDay,
                     int rangeStartingMinute,
                     int rangeStartingSecond,
                     int rangeStartingMillis,
                     int rangeEndingHourOfDay,
                     int rangeEndingMinute,
                     int rangeEndingSecond,
                     int rangeEndingMillis)
Create a DailyCalendar with a time range defined by the specified values and no baseCalendar. Values are subject to the following validations:

Parameters:
name - the name for the DailyCalendar
rangeStartingHourOfDay - the hour of the start of the time range
rangeStartingMinute - the minute of the start of the time range
rangeStartingSecond - the second of the start of the time range
rangeStartingMillis - the millisecond of the start of the time range
rangeEndingHourOfDay - the hour of the end of the time range
rangeEndingMinute - the minute of the end of the time range
rangeEndingSecond - the second of the end of the time range
rangeEndingMillis - the millisecond of the start of the time range

DailyCalendar

public DailyCalendar(String name,
                     Calendar baseCalendar,
                     int rangeStartingHourOfDay,
                     int rangeStartingMinute,
                     int rangeStartingSecond,
                     int rangeStartingMillis,
                     int rangeEndingHourOfDay,
                     int rangeEndingMinute,
                     int rangeEndingSecond,
                     int rangeEndingMillis)
Create a DailyCalendar with a time range defined by the specified values and the specified baseCalendar. Values are subject to the following validations:

Parameters:
name - the name for the DailyCalendar
baseCalendar - the base calendar for this calendar instance – see BaseCalendar for more information on base calendar functionality
rangeStartingHourOfDay - the hour of the start of the time range
rangeStartingMinute - the minute of the start of the time range
rangeStartingSecond - the second of the start of the time range
rangeStartingMillis - the millisecond of the start of the time range
rangeEndingHourOfDay - the hour of the end of the time range
rangeEndingMinute - the minute of the end of the time range
rangeEndingSecond - the second of the end of the time range
rangeEndingMillis - the millisecond of the start of the time range

DailyCalendar

public DailyCalendar(String name,
                     Calendar rangeStartingCalendar,
                     Calendar rangeEndingCalendar)
Create a DailyCalendar with a time range defined by the specified java.util.Calendars and no baseCalendar. The Calendars are subject to the following considerations:

Parameters:
name - the name for the DailyCalendar
rangeStartingCalendar - a java.util.Calendar representing the starting time for the time range
rangeEndingCalendar - a java.util.Calendar representing the ending time for the time range

DailyCalendar

public DailyCalendar(String name,
                     Calendar baseCalendar,
                     Calendar rangeStartingCalendar,
                     Calendar rangeEndingCalendar)
Create a DailyCalendar with a time range defined by the specified java.util.Calendars and the specified baseCalendar. The Calendars are subject to the following considerations:

Parameters:
name - the name for the DailyCalendar
baseCalendar - the base calendar for this calendar instance – see BaseCalendar for more information on base calendar functionality
rangeStartingCalendar - a java.util.Calendar representing the starting time for the time range
rangeEndingCalendar - a java.util.Calendar representing the ending time for the time range

DailyCalendar

public DailyCalendar(String name,
                     long rangeStartingTimeInMillis,
                     long rangeEndingTimeInMillis)
Create a DailyCalendar with a time range defined by the specified values and no baseCalendar. The values are subject to the following considerations:

Parameters:
name - the name for the DailyCalendar
rangeStartingTimeInMillis - a long representing the starting time for the time range
rangeEndingTimeInMillis - a long representing the ending time for the time range

DailyCalendar

public DailyCalendar(String name,
                     Calendar baseCalendar,
                     long rangeStartingTimeInMillis,
                     long rangeEndingTimeInMillis)
Create a DailyCalendar with a time range defined by the specified values and the specified baseCalendar. The values are subject to the following considerations:

Parameters:
name - the name for the DailyCalendar
baseCalendar - the base calendar for this calendar instance – see BaseCalendar for more information on base calendar functionality
rangeStartingTimeInMillis - a long representing the starting time for the time range
rangeEndingTimeInMillis - a long representing the ending time for the time range
Method Detail

getName

public String getName()
Returns the name of the DailyCalendar

Returns:
the name of the DailyCalendar

isTimeIncluded

public boolean isTimeIncluded(long timeInMillis)
Determines whether the given time (in milliseconds) is 'included' by the BaseCalendar

Specified by:
isTimeIncluded in interface Calendar
Overrides:
isTimeIncluded in class BaseCalendar
Parameters:
timeInMillis - the date/time to test
Returns:
a boolean indicating whether the specified time is 'included' by the BaseCalendar
See Also:
Calendar.isTimeIncluded(long)

getNextIncludedTime

public long getNextIncludedTime(long timeInMillis)
Determines the next time included by the DailyCalendar after the specified time.

Specified by:
getNextIncludedTime in interface Calendar
Overrides:
getNextIncludedTime in class BaseCalendar
Parameters:
timeInMillis - the initial date/time after which to find an included time
Returns:
the time in milliseconds representing the next time included after the specified time.
See Also:
Calendar.getNextIncludedTime(long)

getTimeRangeStartingTimeInMillis

public long getTimeRangeStartingTimeInMillis(long timeInMillis)
Returns the start time of the time range (in milliseconds) of the day specified in timeInMillis

Parameters:
timeInMillis - a time containing the desired date for the starting time of the time range.
Returns:
a date/time (in milliseconds) representing the start time of the time range for the specified date.

getTimeRangeEndingTimeInMillis

public long getTimeRangeEndingTimeInMillis(long timeInMillis)
Returns the end time of the time range (in milliseconds) of the day specified in timeInMillis

Parameters:
timeInMillis - a time containing the desired date for the ending time of the time range.
Returns:
a date/time (in milliseconds) representing the end time of the time range for the specified date.

getInvertTimeRange

public boolean getInvertTimeRange()
Indicates whether the time range represents an inverted time range (see class description).

Returns:
a boolean indicating whether the time range is inverted

setInvertTimeRange

public void setInvertTimeRange(boolean flag)
Indicates whether the time range represents an inverted time range (see class description).

Parameters:
flag - the new value for the invertTimeRange flag.

toString

public String toString()
Returns a string representing the properties of the DailyCalendar

Returns:
the properteis of the DailyCalendar in a String format

Quartz Enterprise Job Scheduler Project Page