Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.quartz.impl.calendar
Class DailyCalendar

    java.lang.Object
      org.quartz.impl.calendar.BaseCalendar
          org.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.Calendar`s 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.Calendar`s 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:
  - HH is the hour of the specified time. The hour should be specified using military (24-hour) time and must be in the range 0 to 23.
  - MM is the minute of the specified time and must be in the range 0 to 59.
  - SS is the second of the specified time and must be in the range 0 to 59.
  - mmm is the millisecond of the specified time and must be in the range 0 to 999.
  - items enclosed in brackets ('[', ']') are optional.
  - The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)

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:
  - HH is the hour of the specified time. The hour should be specified using military (24-hour) time and must be in the range 0 to 23.
  - MM is the minute of the specified time and must be in the range 0 to 59.
  - SS is the second of the specified time and must be in the range 0 to 59.
  - mmm is the millisecond of the specified time and must be in the range 0 to 999.
  - items enclosed in brackets ('[', ']') are optional.
  - The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)

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:
  - Hours must be in the range 0-23 and are expressed using military (24-hour) time.
  - Minutes must be in the range 0-59
  - Seconds must be in the range 0-59
  - Milliseconds must be in the range 0-999
  - The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)

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:
  - Hours must be in the range 0-23 and are expressed using military (24-hour) time.
  - Minutes must be in the range 0-59
  - Seconds must be in the range 0-59
  - Milliseconds must be in the range 0-999
  - The time range starting time must be before the time range ending time. Note this means that a time range may not cross daily boundaries (10PM - 2AM)

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.Calendar`s and no `baseCalendar`. The Calendars are subject to the following considerations:
  - Only the time-of-day fields of the specified Calendars will be used (the date fields will be ignored)
  - The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time fields are are used, it is possible for two Calendars to represent a valid time range and `rangeStartingCalendar.after(rangeEndingCalendar) == true`)

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.Calendar`s and the specified `baseCalendar`. The Calendars are subject to the following considerations:
  - Only the time-of-day fields of the specified Calendars will be used (the date fields will be ignored)
  - The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time fields are are used, it is possible for two Calendars to represent a valid time range and `rangeStartingCalendar.after(rangeEndingCalendar) == true`)

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:
  - Only the time-of-day portion of the specified values will be used
  - The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time value are are used, it is possible for the two values to represent a valid time range and `rangeStartingTime > rangeEndingTime`)

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:
  - Only the time-of-day portion of the specified values will be used
  - The starting time must be before the ending time of the defined time range. Note this means that a time range may not cross daily boundaries (10PM - 2AM). (because only time value are are used, it is possible for the two values to represent a valid time range and `rangeStartingTime > rangeEndingTime`)

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Quartz Enterprise Job Scheduler Project Page
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD