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
Class CalendarIntervalScheduleBuilder

    java.lang.Object
      org.quartz.ScheduleBuilder<CalendarIntervalTrigger>
          org.quartz.CalendarIntervalScheduleBuilder

    public class CalendarIntervalScheduleBuilder

extends ScheduleBuilder<CalendarIntervalTrigger>

`CalendarIntervalScheduleBuilder` is a `ScheduleBuilder` that defines calendar time (day, week, month, year) interval-based schedules for `Trigger`s.

Quartz provides a builder-style API for constructing scheduling-related entities via a Domain-Specific Language (DSL). The DSL can best be utilized through the usage of static imports of the methods on the classes `TriggerBuilder`, `JobBuilder`, `DateBuilder`, `JobKey`, `TriggerKey` and the various `ScheduleBuilder` implementations.

Client code can then use the DSL to write code such as this:

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

###

             JobDetail job = newJob(MyJob.class)
                 .withIdentity("myJob")
                 .build();

             Trigger trigger = newTrigger()
                 .withIdentity(triggerKey("myTrigger", "myTriggerGroup"))
                 .withSchedule(withIntervalInDays(3))
                 .startAt(futureDate(10, MINUTES))
                 .build();

             scheduler.scheduleJob(job, trigger);

    See Also:DailyTimeIntervalScheduleBuilder,
    CronScheduleBuilder,
    ScheduleBuilder,
    SimpleScheduleBuilder,
    TriggerBuilder

    Constructor Summary

    protected
    CalendarIntervalScheduleBuilder()

    Method Summary

     MutableTrigger
    build()

              Build the actual Trigger -- NOT intended to be invoked by end users,
     but will rather be invoked by a TriggerBuilder which this
     ScheduleBuilder is given to.

    static CalendarIntervalScheduleBuilder
    calendarIntervalSchedule()

              Create a CalendarIntervalScheduleBuilder.

     CalendarIntervalScheduleBuilder
    inTimeZone(TimeZone timezone)

              The TimeZone in which to base the schedule.

     CalendarIntervalScheduleBuilder
    preserveHourOfDayAcrossDaylightSavings(boolean preserveHourOfDay)

              If intervals are a day or greater, this property (set to true) will
     cause the firing of the trigger to always occur at the same time of day,
     (the time of day of the startTime) regardless of daylight saving time
     transitions.

     CalendarIntervalScheduleBuilder
    skipDayIfHourDoesNotExist(boolean skipDay)

              If intervals are a day or greater, and
     preserveHourOfDayAcrossDaylightSavings property is set to true, and the
     hour of the day does not exist on a given day for which the trigger
     would fire, the day will be skipped and the trigger advanced a second
     interval if this property is set to true.

     CalendarIntervalScheduleBuilder
    withInterval(int timeInterval,
                 DateBuilder.IntervalUnit unit)

              Specify the time unit and interval for the Trigger to be produced.

     CalendarIntervalScheduleBuilder
    withIntervalInDays(int intervalInDays)

              Specify an interval in the IntervalUnit.DAY that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInHours(int intervalInHours)

              Specify an interval in the IntervalUnit.HOUR that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInMinutes(int intervalInMinutes)

              Specify an interval in the IntervalUnit.MINUTE that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInMonths(int intervalInMonths)

              Specify an interval in the IntervalUnit.MONTH that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInSeconds(int intervalInSeconds)

              Specify an interval in the IntervalUnit.SECOND that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInWeeks(int intervalInWeeks)

              Specify an interval in the IntervalUnit.WEEK that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withIntervalInYears(int intervalInYears)

              Specify an interval in the IntervalUnit.YEAR that the produced
     Trigger will repeat at.

     CalendarIntervalScheduleBuilder
    withMisfireHandlingInstructionDoNothing()

              If the Trigger misfires, use the
     CalendarIntervalTrigger.MISFIRE_INSTRUCTION_DO_NOTHING instruction.

     CalendarIntervalScheduleBuilder
    withMisfireHandlingInstructionFireAndProceed()

              If the Trigger misfires, use the
     CalendarIntervalTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW instruction.

     CalendarIntervalScheduleBuilder
    withMisfireHandlingInstructionIgnoreMisfires()

              If the Trigger misfires, use the
     Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY instruction.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Constructor Detail

    CalendarIntervalScheduleBuilder

    protected CalendarIntervalScheduleBuilder()

    Method Detail

    calendarIntervalSchedule

    public static CalendarIntervalScheduleBuilder calendarIntervalSchedule()

    Create a CalendarIntervalScheduleBuilder.

    Returns:the new CalendarIntervalScheduleBuilder

    build

    public MutableTrigger build()

    Build the actual Trigger -- NOT intended to be invoked by end users,
     but will rather be invoked by a TriggerBuilder which this
     ScheduleBuilder is given to.

    Specified by:build in class ScheduleBuilder<CalendarIntervalTrigger>

    See Also:TriggerBuilder.withSchedule(ScheduleBuilder)

    withInterval

    public CalendarIntervalScheduleBuilder withInterval(int timeInterval,
                                                        DateBuilder.IntervalUnit unit)

    Specify the time unit and interval for the Trigger to be produced.

    Parameters:timeInterval - the interval at which the trigger should repeat.unit - the time unit (IntervalUnit) of the interval.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInSeconds

    public CalendarIntervalScheduleBuilder withIntervalInSeconds(int intervalInSeconds)

    Specify an interval in the IntervalUnit.SECOND that the produced
     Trigger will repeat at.

    Parameters:intervalInSeconds - the number of seconds at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInMinutes

    public CalendarIntervalScheduleBuilder withIntervalInMinutes(int intervalInMinutes)

    Specify an interval in the IntervalUnit.MINUTE that the produced
     Trigger will repeat at.

    Parameters:intervalInMinutes - the number of minutes at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInHours

    public CalendarIntervalScheduleBuilder withIntervalInHours(int intervalInHours)

    Specify an interval in the IntervalUnit.HOUR that the produced
     Trigger will repeat at.

    Parameters:intervalInHours - the number of hours at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInDays

    public CalendarIntervalScheduleBuilder withIntervalInDays(int intervalInDays)

    Specify an interval in the IntervalUnit.DAY that the produced
     Trigger will repeat at.

    Parameters:intervalInDays - the number of days at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInWeeks

    public CalendarIntervalScheduleBuilder withIntervalInWeeks(int intervalInWeeks)

    Specify an interval in the IntervalUnit.WEEK that the produced
     Trigger will repeat at.

    Parameters:intervalInWeeks - the number of weeks at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInMonths

    public CalendarIntervalScheduleBuilder withIntervalInMonths(int intervalInMonths)

    Specify an interval in the IntervalUnit.MONTH that the produced
     Trigger will repeat at.

    Parameters:intervalInMonths - the number of months at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withIntervalInYears

    public CalendarIntervalScheduleBuilder withIntervalInYears(int intervalInYears)

    Specify an interval in the IntervalUnit.YEAR that the produced
     Trigger will repeat at.

    Parameters:intervalInYears - the number of years at which the trigger should repeat.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getRepeatInterval(),
    CalendarIntervalTrigger.getRepeatIntervalUnit()

    withMisfireHandlingInstructionIgnoreMisfires

    public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionIgnoreMisfires()

    If the Trigger misfires, use the
     Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY instruction.

    Returns:the updated CronScheduleBuilderSee Also:Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY

    withMisfireHandlingInstructionDoNothing

    public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionDoNothing()

    If the Trigger misfires, use the
     CalendarIntervalTrigger.MISFIRE_INSTRUCTION_DO_NOTHING instruction.

    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.MISFIRE_INSTRUCTION_DO_NOTHING

    withMisfireHandlingInstructionFireAndProceed

    public CalendarIntervalScheduleBuilder withMisfireHandlingInstructionFireAndProceed()

    If the Trigger misfires, use the
     CalendarIntervalTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW instruction.

    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW

    inTimeZone

    public CalendarIntervalScheduleBuilder inTimeZone(TimeZone timezone)

    The TimeZone in which to base the schedule.

    Parameters:timezone - the time-zone for the schedule.
    Returns:the updated CalendarIntervalScheduleBuilderSee Also:CalendarIntervalTrigger.getTimeZone()

    preserveHourOfDayAcrossDaylightSavings

    public CalendarIntervalScheduleBuilder preserveHourOfDayAcrossDaylightSavings(boolean preserveHourOfDay)

    If intervals are a day or greater, this property (set to true) will
     cause the firing of the trigger to always occur at the same time of day,
     (the time of day of the startTime) regardless of daylight saving time
     transitions.  Default value is false.

     For example, without the property set, your trigger may have a start
     time of 9:00 am on March 1st, and a repeat interval of 2 days.  But
     after the daylight saving transition occurs, the trigger may start
     firing at 8:00 am every other day.

     If however, the time of day does not exist on a given day to fire
     (e.g. 2:00 am in the United States on the days of daylight saving
     transition), the trigger will go ahead and fire one hour off on
     that day, and then resume the normal hour on other days.  If
     you wish for the trigger to never fire at the "wrong" hour, then
     you should set the property skipDayIfHourDoesNotExist.

    See Also:skipDayIfHourDoesNotExist(boolean),
    inTimeZone(TimeZone),
    TriggerBuilder.startAt(java.util.Date)

    skipDayIfHourDoesNotExist

    public CalendarIntervalScheduleBuilder skipDayIfHourDoesNotExist(boolean skipDay)

    If intervals are a day or greater, and
     preserveHourOfDayAcrossDaylightSavings property is set to true, and the
     hour of the day does not exist on a given day for which the trigger
     would fire, the day will be skipped and the trigger advanced a second
     interval if this property is set to true.  Defaults to false.

     CAUTION!  If you enable this property, and your hour of day happens
     to be that of daylight savings transition (e.g. 2:00 am in the United
     States) and the trigger's interval would have had the trigger fire on
     that day, then you may actually completely miss a firing on the day of
     transition if that hour of day does not exist on that day!  In such a
     case the next fire time of the trigger will be computed as double (if
     the interval is 2 days, then a span of 4 days between firings will
     occur).

    See Also:preserveHourOfDayAcrossDaylightSavings(boolean)

          Overview
          Package
        Class
          Use
          Tree
          Deprecated
          Index
          Help

     PREV CLASS
     NEXT CLASS

      FRAMES
     NO FRAMES

      SUMMARY: NESTED | FIELD | CONSTR | METHOD

    DETAIL: FIELD | CONSTR | METHOD

    Copyright 2001-2013, Terracotta, Inc.