org.quartz
Class JobBuilder

java.lang.Object
  extended by org.quartz.JobBuilder

public class JobBuilder
extends Object

JobBuilder is used to instantiate JobDetails.

The builder will always try to keep itself in a valid state, with reasonable defaults set for calling build() at any point. For instance if you do not invoke withIdentity(..) a job name will be generated for you.

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(simpleSchedule()
                 .withIntervalInHours(1)
                 .repeatForever())
             .startAt(futureDate(10, MINUTES))
             .build();
         
         scheduler.scheduleJob(job, trigger);
 

See Also:
TriggerBuilder, DateBuilder, JobDetail

Method Summary
 JobDetail build()
          Produce the JobDetail instance defined by this JobBuilder.
static JobBuilder newJob()
          Create a JobBuilder with which to define a JobDetail.
static JobBuilder newJob(Class<? extends Job> jobClass)
          Create a JobBuilder with which to define a JobDetail, and set the class name of the Job to be executed.
 JobBuilder ofType(Class<? extends Job> jobClazz)
          Set the class which will be instantiated and executed when a Trigger fires that is associated with this JobDetail.
 JobBuilder requestRecovery()
          Instructs the Scheduler whether or not the Job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.
 JobBuilder requestRecovery(boolean jobShouldRecover)
          Instructs the Scheduler whether or not the Job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.
 JobBuilder storeDurably()
          Whether or not the Job should remain stored after it is orphaned (no Triggers point to it).
 JobBuilder storeDurably(boolean jobDurability)
          Whether or not the Job should remain stored after it is orphaned (no Triggers point to it).
 JobBuilder usingJobData(JobDataMap newJobDataMap)
          Set the JobDetail's JobDataMap, adding any values to it that were already set on this JobBuilder using any of the other 'usingJobData' methods.
 JobBuilder usingJobData(String dataKey, Boolean value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder usingJobData(String dataKey, Double value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder usingJobData(String dataKey, Float value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder usingJobData(String dataKey, Integer value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder usingJobData(String dataKey, Long value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder usingJobData(String dataKey, String value)
          Add the given key-value pair to the JobDetail's JobDataMap.
 JobBuilder withDescription(String jobDescription)
          Set the given (human-meaningful) description of the Job.
 JobBuilder withIdentity(JobKey jobKey)
          Use a JobKey to identify the JobDetail.
 JobBuilder withIdentity(String name)
          Use a JobKey with the given name and default group to identify the JobDetail.
 JobBuilder withIdentity(String name, String group)
          Use a JobKey with the given name and group to identify the JobDetail.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newJob

public static JobBuilder newJob()
Create a JobBuilder with which to define a JobDetail.

Returns:
a new JobBuilder

newJob

public static JobBuilder newJob(Class<? extends Job> jobClass)
Create a JobBuilder with which to define a JobDetail, and set the class name of the Job to be executed.

Returns:
a new JobBuilder

build

public JobDetail build()
Produce the JobDetail instance defined by this JobBuilder.

Returns:
the defined JobDetail.

withIdentity

public JobBuilder withIdentity(String name)
Use a JobKey with the given name and default group to identify the JobDetail.

If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated.

Parameters:
name - the name element for the Job's JobKey
Returns:
the updated JobBuilder
See Also:
JobKey, JobDetail.getKey()

withIdentity

public JobBuilder withIdentity(String name,
                               String group)
Use a JobKey with the given name and group to identify the JobDetail.

If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated.

Parameters:
name - the name element for the Job's JobKey
group - the group element for the Job's JobKey
Returns:
the updated JobBuilder
See Also:
JobKey, JobDetail.getKey()

withIdentity

public JobBuilder withIdentity(JobKey jobKey)
Use a JobKey to identify the JobDetail.

If none of the 'withIdentity' methods are set on the JobBuilder, then a random, unique JobKey will be generated.

Parameters:
jobKey - the Job's JobKey
Returns:
the updated JobBuilder
See Also:
JobKey, JobDetail.getKey()

withDescription

public JobBuilder withDescription(String jobDescription)
Set the given (human-meaningful) description of the Job.

Parameters:
jobDescription - the description for the Job
Returns:
the updated JobBuilder
See Also:
JobDetail.getDescription()

ofType

public JobBuilder ofType(Class<? extends Job> jobClazz)
Set the class which will be instantiated and executed when a Trigger fires that is associated with this JobDetail.

Parameters:
jobClazz - a class implementing the Job interface.
Returns:
the updated JobBuilder
See Also:
JobDetail.getJobClass()

requestRecovery

public JobBuilder requestRecovery()
Instructs the Scheduler whether or not the Job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.

If not explicitly set, the default value is false.

Returns:
the updated JobBuilder
See Also:
JobDetail.requestsRecovery()

requestRecovery

public JobBuilder requestRecovery(boolean jobShouldRecover)
Instructs the Scheduler whether or not the Job should be re-executed if a 'recovery' or 'fail-over' situation is encountered.

If not explicitly set, the default value is false.

Parameters:
jobShouldRecover -
Returns:
the updated JobBuilder

storeDurably

public JobBuilder storeDurably()
Whether or not the Job should remain stored after it is orphaned (no Triggers point to it).

If not explicitly set, the default value is false - this method sets the value to true.

Returns:
the updated JobBuilder
See Also:
JobDetail.isDurable()

storeDurably

public JobBuilder storeDurably(boolean jobDurability)
Whether or not the Job should remain stored after it is orphaned (no Triggers point to it).

If not explicitly set, the default value is false.

Parameters:
jobDurability - the value to set for the durability property.
Returns:
the updated JobBuilder
See Also:
JobDetail.isDurable()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               String value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               Integer value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               Long value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               Float value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               Double value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(String dataKey,
                               Boolean value)
Add the given key-value pair to the JobDetail's JobDataMap.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()

usingJobData

public JobBuilder usingJobData(JobDataMap newJobDataMap)
Set the JobDetail's JobDataMap, adding any values to it that were already set on this JobBuilder using any of the other 'usingJobData' methods.

Returns:
the updated JobBuilder
See Also:
JobDetail.getJobDataMap()


Copyright 2001-2013, Terracotta, Inc.