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 CronCalendar

    java.lang.Object
      org.quartz.impl.calendar.BaseCalendar
          org.quartz.impl.calendar.CronCalendar

All Implemented Interfaces:
  Calendar, Serializable

public class CronCalendar
extends BaseCalendar

This implementation of the Calendar excludes the set of times expressed by a given `CronExpression`. For example, you could use this calendar to exclude all but business hours (8AM - 5PM) every day using the expression "* * 0-7,18-24 ? * *".

It is important to remember that the cron expression here describes a set of times to be excluded from firing. Whereas the cron expression in `CronTrigger` describes a set of times that can be included for firing. Thus, if a `CronTrigger` has a given cron expression and is associated with a `CronCalendar` with the same expression, the calendar will exclude all the times the trigger includes, and they will cancel each other out.

Version:
  $Revision: 1.1.2.2 $ $Date: 2006/02/24 13:34:56 $
Author:
  Aaron Craven
See Also:
  Serialized Form

Field Summary

Fields inherited from interface org.quartz.Calendar
`MONTH`

Constructor Summary
`CronCalendar(String name, Calendar baseCalendar, String expression)` Create a `CronCalendar` with the given cron exprssion and `baseCalendar`.
`CronCalendar(String name, String expression)` Create a `CronCalendar` with the given cron expression and no `baseCalendar`.

Method Summary
`CronExpression` | `getCronExpression()` Returns the object representation of the cron expression that defines the dates and times this calendar excludes.
`String` | `getName()` Returns the name of the `CronCalendar`
`long` | `getNextIncludedTime(long timeInMillis)` Determines the next time included by the `CronCalendar` after the specified time.
`boolean` | `isTimeIncluded(long timeInMillis)` Determines whether the given time (in milliseconds) is 'included' by the `BaseCalendar`
`void` | `setCronExpression(CronExpression expression)` Sets the cron expression for the calendar to a new value
`void` | `setCronExpression(String expression)` Sets the cron expression for the calendar to a new value
`String` | `toString()` Returns a string representing the properties of the `CronCalendar`

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

### CronCalendar

    public CronCalendar(String name,
                        String expression)
                 throws ParseException

  Create a `CronCalendar` with the given cron expression and no `baseCalendar`.

Parameters:
  `name` - the name for the `DailyCalendar`
  `expression` - a String representation of the desired cron expression

### CronCalendar

    public CronCalendar(String name,
                        Calendar baseCalendar,
                        String expression)
                 throws ParseException

  Create a `CronCalendar` with the given cron exprssion and `baseCalendar`.

Parameters:
  `name` - the name for the `DailyCalendar`
  `baseCalendar` - the base calendar for this calendar instance – see `BaseCalendar` for more information on base calendar functionality
  `expression` - a String representation of the desired cron expression

Method Detail

### getName

    public String getName()

  Returns the name of the `CronCalendar`

  Returns:
    the name of the `CronCalendar`

### 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 `CronCalendar`
  See Also:
    `Calendar.isTimeIncluded(long)`

### getNextIncludedTime

    public long getNextIncludedTime(long timeInMillis)

  Determines the next time included by the `CronCalendar` 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)`

### toString

    public String toString()

  Returns a string representing the properties of the `CronCalendar`

  Returns:
    the properteis of the CronCalendar in a String format

### getCronExpression

    public CronExpression getCronExpression()

  Returns the object representation of the cron expression that defines the dates and times this calendar excludes.

  Returns:
    the cron expression
  See Also:
    `CronExpression`

### setCronExpression

    public void setCronExpression(String expression)
                           throws ParseException

  Sets the cron expression for the calendar to a new value

  Parameters:
    `expression` - the new string value to build a cron expression from
  Throws:
    `ParseException` - if the string expression cannot be parsed

### setCronExpression

    public void setCronExpression(CronExpression expression)

  Sets the cron expression for the calendar to a new value

  Parameters:
    `expression` - the new cron expression

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