org.quartz
Class CronScheduleBuilder

java.lang.Object
  extended by org.quartz.ScheduleBuilder<CronTrigger>
      extended by org.quartz.CronScheduleBuilder

public class CronScheduleBuilder
extends ScheduleBuilder<CronTrigger>

CronScheduleBuilder is a ScheduleBuilder that defines CronExpression-based schedules for Triggers.

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(dailyAtHourAndMinute(10, 0))
         .startAt(futureDate(10, MINUTES)).build();
 
 scheduler.scheduleJob(job, trigger);
 
 

See Also:
CronExpression, CronTrigger, ScheduleBuilder, SimpleScheduleBuilder, CalendarIntervalScheduleBuilder, TriggerBuilder

Constructor Summary
protected CronScheduleBuilder(CronExpression cronExpression)
           
 
Method Summary
static CronScheduleBuilder atHourAndMinuteOnGivenDaysOfWeek(int hour, int minute, Integer... daysOfWeek)
          Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire at the given day at the given time (hour and minute) on the given days of the week.
 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 CronScheduleBuilder cronSchedule(CronExpression cronExpression)
          Create a CronScheduleBuilder with the given cron-expression.
static CronScheduleBuilder cronSchedule(String cronExpression)
          Create a CronScheduleBuilder with the given cron-expression string - which is presumed to b e valid cron expression (and hence only a RuntimeException will be thrown if it is not).
static CronScheduleBuilder cronScheduleNonvalidatedExpression(String cronExpression)
          Create a CronScheduleBuilder with the given cron-expression string - which may not be a valid cron expression (and hence a ParseException will be thrown if it is not).
static CronScheduleBuilder dailyAtHourAndMinute(int hour, int minute)
          Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire every day at the given time (hour and minute).
 CronScheduleBuilder inTimeZone(TimeZone timezone)
          The TimeZone in which to base the schedule.
static CronScheduleBuilder monthlyOnDayAndHourAndMinute(int dayOfMonth, int hour, int minute)
          Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per month on the given day of month at the given time (hour and minute).
static CronScheduleBuilder weeklyOnDayAndHourAndMinute(int dayOfWeek, int hour, int minute)
          Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per week on the given day at the given time (hour and minute).
 CronScheduleBuilder withMisfireHandlingInstructionDoNothing()
          If the Trigger misfires, use the CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING instruction.
 CronScheduleBuilder withMisfireHandlingInstructionFireAndProceed()
          If the Trigger misfires, use the CronTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW instruction.
 CronScheduleBuilder 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

CronScheduleBuilder

protected CronScheduleBuilder(CronExpression cronExpression)
Method Detail

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<CronTrigger>
See Also:
TriggerBuilder.withSchedule(ScheduleBuilder)

cronSchedule

public static CronScheduleBuilder cronSchedule(String cronExpression)
Create a CronScheduleBuilder with the given cron-expression string - which is presumed to b e valid cron expression (and hence only a RuntimeException will be thrown if it is not).

Parameters:
cronExpression - the cron expression string to base the schedule on.
Returns:
the new CronScheduleBuilder
Throws:
RuntimeException - wrapping a ParseException if the expression is invalid
See Also:
CronExpression

cronScheduleNonvalidatedExpression

public static CronScheduleBuilder cronScheduleNonvalidatedExpression(String cronExpression)
                                                              throws ParseException
Create a CronScheduleBuilder with the given cron-expression string - which may not be a valid cron expression (and hence a ParseException will be thrown if it is not).

Parameters:
cronExpression - the cron expression string to base the schedule on.
Returns:
the new CronScheduleBuilder
Throws:
ParseException - if the expression is invalid
See Also:
CronExpression

cronSchedule

public static CronScheduleBuilder cronSchedule(CronExpression cronExpression)
Create a CronScheduleBuilder with the given cron-expression.

Parameters:
cronExpression - the cron expression to base the schedule on.
Returns:
the new CronScheduleBuilder
See Also:
CronExpression

dailyAtHourAndMinute

public static CronScheduleBuilder dailyAtHourAndMinute(int hour,
                                                       int minute)
Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire every day at the given time (hour and minute).

Parameters:
hour - the hour of day to fire
minute - the minute of the given hour to fire
Returns:
the new CronScheduleBuilder
See Also:
CronExpression

atHourAndMinuteOnGivenDaysOfWeek

public static CronScheduleBuilder atHourAndMinuteOnGivenDaysOfWeek(int hour,
                                                                   int minute,
                                                                   Integer... daysOfWeek)
Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire at the given day at the given time (hour and minute) on the given days of the week.

Parameters:
daysOfWeek - the dasy of the week to fire
hour - the hour of day to fire
minute - the minute of the given hour to fire
Returns:
the new CronScheduleBuilder
See Also:
CronExpression, DateBuilder.MONDAY, DateBuilder.TUESDAY, DateBuilder.WEDNESDAY, DateBuilder.THURSDAY, DateBuilder.FRIDAY, DateBuilder.SATURDAY, DateBuilder.SUNDAY

weeklyOnDayAndHourAndMinute

public static CronScheduleBuilder weeklyOnDayAndHourAndMinute(int dayOfWeek,
                                                              int hour,
                                                              int minute)
Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per week on the given day at the given time (hour and minute).

Parameters:
dayOfWeek - the day of the week to fire
hour - the hour of day to fire
minute - the minute of the given hour to fire
Returns:
the new CronScheduleBuilder
See Also:
CronExpression, DateBuilder.MONDAY, DateBuilder.TUESDAY, DateBuilder.WEDNESDAY, DateBuilder.THURSDAY, DateBuilder.FRIDAY, DateBuilder.SATURDAY, DateBuilder.SUNDAY

monthlyOnDayAndHourAndMinute

public static CronScheduleBuilder monthlyOnDayAndHourAndMinute(int dayOfMonth,
                                                               int hour,
                                                               int minute)
Create a CronScheduleBuilder with a cron-expression that sets the schedule to fire one per month on the given day of month at the given time (hour and minute).

Parameters:
dayOfMonth - the day of the month to fire
hour - the hour of day to fire
minute - the minute of the given hour to fire
Returns:
the new CronScheduleBuilder
See Also:
CronExpression

inTimeZone

public CronScheduleBuilder inTimeZone(TimeZone timezone)
The TimeZone in which to base the schedule.

Parameters:
timezone - the time-zone for the schedule.
Returns:
the updated CronScheduleBuilder
See Also:
CronExpression.getTimeZone()

withMisfireHandlingInstructionIgnoreMisfires

public CronScheduleBuilder withMisfireHandlingInstructionIgnoreMisfires()
If the Trigger misfires, use the Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY instruction.

Returns:
the updated CronScheduleBuilder
See Also:
Trigger.MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY

withMisfireHandlingInstructionDoNothing

public CronScheduleBuilder withMisfireHandlingInstructionDoNothing()
If the Trigger misfires, use the CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING instruction.

Returns:
the updated CronScheduleBuilder
See Also:
CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING

withMisfireHandlingInstructionFireAndProceed

public CronScheduleBuilder withMisfireHandlingInstructionFireAndProceed()
If the Trigger misfires, use the CronTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW instruction.

Returns:
the updated CronScheduleBuilder
See Also:
CronTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW


Copyright 2001-2013, Terracotta, Inc.