|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
org.quartz.impl.triggers Class AbstractTrigger<T extends Trigger>
java.lang.Objectorg.quartz.impl.triggers.AbstractTrigger<T>
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<Trigger>, org.quartz.spi.MutableTrigger, org.quartz.spi.OperableTrigger, Trigger
- Direct Known Subclasses:
- CalendarIntervalTriggerImpl, CronTriggerImpl, SimpleTriggerImpl
public abstract class AbstractTrigger<T extends Trigger>
- extends Object
- implements org.quartz.spi.OperableTrigger
The base abstract class to be extended by all Triggers.
Triggers s have a name and group associated with them, which
should uniquely identify them within a single Scheduler.
Triggers are the 'mechanism' by which Job s
are scheduled. Many Trigger s can point to the same Job,
but a single Trigger can only point to one Job.
Triggers can 'send' parameters/data to Jobs by placing contents
into the JobDataMap on the Trigger.
- Author:
- James House, Sharada Jambula
- See Also:
SimpleTrigger,CronTrigger,NthIncludedDayTrigger,TriggerUtils,JobDataMap,JobExecutionContext, Serialized Form
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface org.quartz.Trigger |
|---|
Trigger.CompletedExecutionInstruction, Trigger.TriggerState, Trigger.TriggerTimeComparator |
| Field Summary |
|---|
| Fields inherited from interface org.quartz.Trigger |
|---|
DEFAULT_PRIORITY, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, MISFIRE_INSTRUCTION_SMART_POLICY |
| Constructor Summary | |
|---|---|
AbstractTrigger()
Create a Trigger with no specified name, group, or JobDetail. |
|
AbstractTrigger(String name)
Create a Trigger with the given name, and default group. |
|
AbstractTrigger(String name,
String group)
Create a Trigger with the given name, and group. |
|
AbstractTrigger(String name,
String group,
String jobName,
String jobGroup)
Create a Trigger with the given name, and group. |
|
| Method Summary | |
|---|---|
Object |
clone()
|
int |
compareTo(Trigger other)
Compare the next fire time of this Trigger to that of
another by comparing their keys, or in other words, sorts them
according to the natural (i.e. |
abstract Date |
computeFirstFireTime(Calendar calendar)
This method should not be used by the Quartz client. |
boolean |
equals(Object o)
Trigger equality is based upon the equality of the TriggerKey. |
Trigger.CompletedExecutionInstruction |
executionComplete(JobExecutionContext context,
JobExecutionException result)
This method should not be used by the Quartz client. |
String |
getCalendarName()
Get the name of the Calendar associated with this
Trigger. |
String |
getDescription()
Return the description given to the Trigger instance by
its creator (if any). |
abstract Date |
getEndTime()
Get the time at which the Trigger should quit repeating -
regardless of any remaining repeats (based on the trigger's particular
repeat settings). |
abstract Date |
getFinalFireTime()
Returns the last time at which the Trigger will fire, if
the Trigger will repeat indefinitely, null will be returned. |
String |
getFireInstanceId()
This method should not be used by the Quartz client. |
abstract Date |
getFireTimeAfter(Date afterTime)
Returns the next time at which the Trigger will fire,
after the given time. |
String |
getFullJobName()
Returns the 'full name' of the Job that the Trigger
points to, in the format "group.name". |
String |
getFullName()
Returns the 'full name' of the Trigger in the format
"group.name". |
String |
getGroup()
Get the group of this Trigger. |
JobDataMap |
getJobDataMap()
Get the JobDataMap that is associated with the
Trigger. |
String |
getJobGroup()
Get the name of the associated JobDetail's
group. |
JobKey |
getJobKey()
|
String |
getJobName()
Get the name of the associated JobDetail. |
TriggerKey |
getKey()
|
int |
getMisfireInstruction()
Get the instruction the Scheduler should be given for
handling misfire situations for this Trigger- the
concrete Trigger type that you are using will have
defined a set of additional MISFIRE_INSTRUCTION_XXX
constants that may be passed to this method. |
String |
getName()
Get the name of this Trigger. |
abstract Date |
getNextFireTime()
Returns the next time at which the Trigger is scheduled to fire. |
abstract Date |
getPreviousFireTime()
Returns the previous time at which the Trigger fired. |
int |
getPriority()
The priority of a Trigger acts as a tiebreaker such that if
two Triggers have the same scheduled fire time, then the
one with the higher priority will get first access to a worker
thread. |
abstract ScheduleBuilder<T> |
getScheduleBuilder()
Get a ScheduleBuilder that is configured to produce a
schedule identical to this trigger's schedule. |
abstract Date |
getStartTime()
Get the time at which the Trigger should occur. |
TriggerBuilder<T> |
getTriggerBuilder()
Get a TriggerBuilder that is configured to produce a
Trigger identical to this one. |
int |
hashCode()
|
abstract boolean |
mayFireAgain()
Used by the Scheduler to determine whether or not
it is possible for this Trigger to fire again. |
void |
setCalendarName(String calendarName)
Associate the Calendar with the given name with
this Trigger. |
void |
setDescription(String description)
Set a description for the Trigger instance - may be
useful for remembering/displaying the purpose of the trigger, though the
description has no meaning to Quartz. |
abstract void |
setEndTime(Date endTime)
Set the time at which the Trigger should quit repeating -
regardless of any remaining repeats (based on the trigger's particular
repeat settings). |
void |
setFireInstanceId(String id)
This method should not be used by the Quartz client. |
void |
setGroup(String group)
Set the name of this Trigger. |
void |
setJobDataMap(JobDataMap jobDataMap)
Set the JobDataMap to be associated with the
Trigger. |
void |
setJobGroup(String jobGroup)
Set the name of the associated JobDetail's
group. |
void |
setJobKey(JobKey key)
|
void |
setJobName(String jobName)
Set the name of the associated JobDetail. |
void |
setKey(TriggerKey key)
|
void |
setMisfireInstruction(int misfireInstruction)
Set the instruction the Scheduler should be given for
handling misfire situations for this Trigger- the
concrete Trigger type that you are using will have
defined a set of additional MISFIRE_INSTRUCTION_XXX
constants that may be passed to this method. |
void |
setName(String name)
Set the name of this Trigger. |
void |
setPriority(int priority)
The priority of a Trigger acts as a tie breaker such that if
two Triggers have the same scheduled fire time, then Quartz
will do its best to give the one with the higher priority first access
to a worker thread. |
abstract void |
setStartTime(Date startTime)
The time at which the trigger's scheduling should start. |
String |
toString()
Return a simple string representation of this object. |
abstract void |
triggered(Calendar calendar)
This method should not be used by the Quartz client. |
abstract void |
updateAfterMisfire(Calendar cal)
This method should not be used by the Quartz client. |
abstract void |
updateWithNewCalendar(Calendar cal,
long misfireThreshold)
This method should not be used by the Quartz client. |
void |
validate()
Validates whether the properties of the JobDetail are
valid for submission into a Scheduler. |
protected abstract boolean |
validateMisfireInstruction(int misfireInstruction)
|
| Methods inherited from class java.lang.Object |
|---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.quartz.spi.OperableTrigger |
|---|
setNextFireTime, setPreviousFireTime |
| Constructor Detail |
|---|
AbstractTrigger
public AbstractTrigger()
Create a
Triggerwith no specified name, group, orJobDetail.Note that the
setName(String),setGroup(String)and thesetJobName(String)andsetJobGroup(String)methods must be called before theTriggercan be placed into aScheduler.
AbstractTrigger
public AbstractTrigger(String name)
Create a
Triggerwith the given name, and default group.Note that the
setJobName(String)andsetJobGroup(String)methods must be called before theTriggercan be placed into aScheduler.- Parameters:
group- ifnull, Scheduler.DEFAULT_GROUP will be used.- Throws:
IllegalArgumentException- if name is null or empty, or the group is an empty string.
AbstractTrigger
public AbstractTrigger(String name, String group)
Create a
Triggerwith the given name, and group.Note that the
setJobName(String)andsetJobGroup(String)methods must be called before theTriggercan be placed into aScheduler.- Parameters:
group- ifnull, Scheduler.DEFAULT_GROUP will be used.- Throws:
IllegalArgumentException- if name is null or empty, or the group is an empty string.
AbstractTrigger
public AbstractTrigger(String name, String group, String jobName, String jobGroup)
Create a
Triggerwith the given name, and group.- Parameters:
group- ifnull, Scheduler.DEFAULT_GROUP will be used.- Throws:
IllegalArgumentException- if name is null or empty, or the group is an empty string.
| Method Detail |
|---|
getName
public String getName()
Get the name of this
Trigger.
setName
public void setName(String name)
Set the name of this
Trigger.- Throws:
IllegalArgumentException- if name is null or empty.
getGroup
public String getGroup()
Get the group of this
Trigger.
setGroup
public void setGroup(String group)
Set the name of this
Trigger.- Parameters:
group- ifnull, Scheduler.DEFAULT_GROUP will be used.- Throws:
IllegalArgumentException- if group is an empty string.
setKey
public void setKey(TriggerKey key)
- Specified by:
setKeyin interfaceorg.quartz.spi.MutableTrigger
getJobName
public String getJobName()
Get the name of the associated
JobDetail.
setJobName
public void setJobName(String jobName)
Set the name of the associated
JobDetail.- Throws:
IllegalArgumentException- if jobName is null or empty.
getJobGroup
public String getJobGroup()
Get the name of the associated
JobDetail's group.
setJobGroup
public void setJobGroup(String jobGroup)
Set the name of the associated
JobDetail's group.- Parameters:
jobGroup- ifnull, Scheduler.DEFAULT_GROUP will be used.- Throws:
IllegalArgumentException- if group is an empty string.
setJobKey
public void setJobKey(JobKey key)
- Specified by:
setJobKeyin interfaceorg.quartz.spi.MutableTrigger
getFullName
public String getFullName()
Returns the 'full name' of the
Triggerin the format "group.name".
getKey
public TriggerKey getKey()
getJobKey
public JobKey getJobKey()
getFullJobName
public String getFullJobName()
Returns the 'full name' of the
Jobthat theTriggerpoints to, in the format "group.name".
getDescription
public String getDescription()
Return the description given to the
Triggerinstance by its creator (if any).- Specified by:
getDescriptionin interfaceTrigger
- Returns:
- null if no description was set.
setDescription
public void setDescription(String description)
Set a description for the
Triggerinstance - may be useful for remembering/displaying the purpose of the trigger, though the description has no meaning to Quartz.- Specified by:
setDescriptionin interfaceorg.quartz.spi.MutableTrigger
setCalendarName
public void setCalendarName(String calendarName)
Associate the
Calendarwith the given name with this Trigger.- Specified by:
setCalendarNamein interfaceorg.quartz.spi.MutableTrigger
- Parameters:
calendarName- usenullto dis-associate a Calendar.
getCalendarName
public String getCalendarName()
Get the name of the
Calendarassociated with this Trigger.- Specified by:
getCalendarNamein interfaceTrigger
- Returns:
nullif there is no associated Calendar.
getJobDataMap
public JobDataMap getJobDataMap()
Get the
JobDataMapthat is associated with theTrigger.Changes made to this map during job execution are not re-persisted, and in fact typically result in an
IllegalStateException.- Specified by:
getJobDataMapin interfaceTrigger
setJobDataMap
public void setJobDataMap(JobDataMap jobDataMap)
Set the
JobDataMapto be associated with theTrigger.- Specified by:
setJobDataMapin interfaceorg.quartz.spi.MutableTrigger
getPriority
public int getPriority()
- The priority of a
Triggeracts as a tiebreaker such that if twoTriggers have the same scheduled fire time, then the one with the higher priority will get first access to a worker thread.If not explicitly set, the default value is
5. - Specified by:
getPriorityin interfaceTrigger
- See Also:
Trigger.DEFAULT_PRIORITY
setPriority
public void setPriority(int priority)
- The priority of a
Triggeracts as a tie breaker such that if twoTriggers have the same scheduled fire time, then Quartz will do its best to give the one with the higher priority first access to a worker thread.If not explicitly set, the default value is
5. - Specified by:
setPriorityin interfaceorg.quartz.spi.MutableTrigger
- See Also:
Trigger.DEFAULT_PRIORITY
triggered
public abstract void triggered(Calendar calendar)
This method should not be used by the Quartz client.
Called when the
Schedulerhas decided to 'fire' the trigger (execute the associatedJob), in order to give theTriggera chance to update itself for its next triggering (if any).- Specified by:
triggeredin interfaceorg.quartz.spi.OperableTrigger
computeFirstFireTime
public abstract Date computeFirstFireTime(Calendar calendar)
This method should not be used by the Quartz client.
Called by the scheduler at the time a
Triggeris first added to the scheduler, in order to have theTriggercompute its first fire time, based on any associated calendar.After this method has been called,
getNextFireTime()should return a valid answer.- Specified by:
computeFirstFireTimein interfaceorg.quartz.spi.OperableTrigger
- Returns:
- the first time at which the
Triggerwill be fired by the scheduler, which is also the same valuegetNextFireTime()will return (until after the first firing of theTrigger).
executionComplete
public Trigger.CompletedExecutionInstruction executionComplete(JobExecutionContext context, JobExecutionException result)
This method should not be used by the Quartz client.
Called after the
Schedulerhas executed theJobDetailassociated with theTriggerin order to get the final instruction code from the trigger.- Specified by:
executionCompletein interfaceorg.quartz.spi.OperableTrigger
- Parameters:
context- is theJobExecutionContextthat was used by theJob'sexecute(xx)method.result- is theJobExecutionExceptionthrown by theJob, if any (may be null).- Returns:
- one of the CompletedExecutionInstruction constants.
- See Also:
Trigger.CompletedExecutionInstruction,triggered(Calendar)
mayFireAgain
public abstract boolean mayFireAgain()
Used by the
Schedulerto determine whether or not it is possible for thisTriggerto fire again.If the returned value is
falsethen theSchedulermay remove theTriggerfrom theJobStore.- Specified by:
mayFireAgainin interfaceTrigger
getStartTime
public abstract Date getStartTime()
Get the time at which the
Triggershould occur.- Specified by:
getStartTimein interfaceTrigger
setStartTime
public abstract void setStartTime(Date startTime)
The time at which the trigger's scheduling should start. May or may not be the first actual fire time of the trigger, depending upon the type of trigger and the settings of the other properties of the trigger. However the first actual first time will not be before this date.
Setting a value in the past may cause a new trigger to compute a first fire time that is in the past, which may cause an immediate misfire of the trigger.
- Specified by:
setStartTimein interfaceorg.quartz.spi.MutableTrigger
setEndTime
public abstract void setEndTime(Date endTime)
Set the time at which the
Triggershould quit repeating - regardless of any remaining repeats (based on the trigger's particular repeat settings).- Specified by:
setEndTimein interfaceorg.quartz.spi.MutableTrigger
- See Also:
TriggerUtils#computeEndTimeToAllowParticularNumberOfFirings(AbstractTrigger, Calendar, int)
getEndTime
public abstract Date getEndTime()
Get the time at which the
Triggershould quit repeating - regardless of any remaining repeats (based on the trigger's particular repeat settings).- Specified by:
getEndTimein interfaceTrigger
- See Also:
getFinalFireTime()
getNextFireTime
public abstract Date getNextFireTime()
Returns the next time at which the
Triggeris scheduled to fire. If the trigger will not fire again,nullwill be returned. Note that the time returned can possibly be in the past, if the time that was computed for the trigger to next fire has already arrived, but the scheduler has not yet been able to fire the trigger (which would likely be due to lack of resources e.g. threads).The value returned is not guaranteed to be valid until after the
Triggerhas been added to the scheduler.- Specified by:
getNextFireTimein interfaceTrigger
- See Also:
TriggerUtils#computeFireTimesBetween(AbstractTrigger, Calendar, Date, Date)
getPreviousFireTime
public abstract Date getPreviousFireTime()
Returns the previous time at which the
Triggerfired. If the trigger has not yet fired,nullwill be returned.- Specified by:
getPreviousFireTimein interfaceTrigger
getFireTimeAfter
public abstract Date getFireTimeAfter(Date afterTime)
Returns the next time at which the
Triggerwill fire, after the given time. If the trigger will not fire after the given time,nullwill be returned.- Specified by:
getFireTimeAfterin interfaceTrigger
getFinalFireTime
public abstract Date getFinalFireTime()
Returns the last time at which the
Triggerwill fire, if the Trigger will repeat indefinitely, null will be returned.Note that the return time *may* be in the past.
- Specified by:
getFinalFireTimein interfaceTrigger
setMisfireInstruction
public void setMisfireInstruction(int misfireInstruction)
Set the instruction the
Schedulershould be given for handling misfire situations for thisTrigger- the concreteTriggertype that you are using will have defined a set of additionalMISFIRE_INSTRUCTION_XXXconstants that may be passed to this method.If not explicitly set, the default value is
MISFIRE_INSTRUCTION_SMART_POLICY.- Specified by:
setMisfireInstructionin interfaceorg.quartz.spi.MutableTrigger
validateMisfireInstruction
protected abstract boolean validateMisfireInstruction(int misfireInstruction)
getMisfireInstruction
public int getMisfireInstruction()
Get the instruction the
Schedulershould be given for handling misfire situations for thisTrigger- the concreteTriggertype that you are using will have defined a set of additionalMISFIRE_INSTRUCTION_XXXconstants that may be passed to this method.If not explicitly set, the default value is
MISFIRE_INSTRUCTION_SMART_POLICY.- Specified by:
getMisfireInstructionin interfaceTrigger
updateAfterMisfire
public abstract void updateAfterMisfire(Calendar cal)
This method should not be used by the Quartz client.
To be implemented by the concrete classes that extend this class.
The implementation should update the
Trigger's state based on the MISFIRE_INSTRUCTION_XXX that was selected when theTriggerwas created.- Specified by:
updateAfterMisfirein interfaceorg.quartz.spi.OperableTrigger
updateWithNewCalendar
public abstract void updateWithNewCalendar(Calendar cal, long misfireThreshold)
This method should not be used by the Quartz client.
To be implemented by the concrete class.
The implementation should update the
Trigger's state based on the given new version of the associatedCalendar(the state should be updated so that it's next fire time is appropriate given the Calendar's new settings).- Specified by:
updateWithNewCalendarin interfaceorg.quartz.spi.OperableTrigger
- Parameters:
cal-
validate
public void validate()
throws SchedulerException
Validates whether the properties of the
JobDetailare valid for submission into aScheduler.- Specified by:
validatein interfaceorg.quartz.spi.OperableTrigger
- Throws:
IllegalStateException- if a required property (such as Name, Group, Class) is not set.SchedulerException
setFireInstanceId
public void setFireInstanceId(String id)
This method should not be used by the Quartz client.
Usable by
JobStoreimplementations, in order to facilitate 'recognizing' instances of firedTriggers as their jobs complete execution.- Specified by:
setFireInstanceIdin interfaceorg.quartz.spi.OperableTrigger
getFireInstanceId
public String getFireInstanceId()
This method should not be used by the Quartz client.
- Specified by:
getFireInstanceIdin interfaceorg.quartz.spi.OperableTrigger
toString
public String toString()
compareTo
public int compareTo(Trigger other)
Compare the next fire time of this
Triggerto that of another by comparing their keys, or in other words, sorts them according to the natural (i.e. alphabetical) order of their keys.- Specified by:
compareToin interfaceComparable<Trigger>- Specified by:
compareToin interfaceTrigger
equals
public boolean equals(Object o)
- Trigger equality is based upon the equality of the TriggerKey.
- Returns:
- true if the key of this Trigger equals that of the given Trigger.
hashCode
public int hashCode()
clone
public Object clone()
getTriggerBuilder
public TriggerBuilder<T> getTriggerBuilder()
- Description copied from interface:
Trigger - Get a
TriggerBuilderthat is configured to produce aTriggeridentical to this one. - Specified by:
getTriggerBuilderin interfaceTrigger
- See Also:
Trigger.getScheduleBuilder()
getScheduleBuilder
public abstract ScheduleBuilder<T> getScheduleBuilder()
- Description copied from interface:
Trigger - Get a
ScheduleBuilderthat is configured to produce a schedule identical to this trigger's schedule. - Specified by:
getScheduleBuilderin interfaceTrigger
- See Also:
Trigger.getTriggerBuilder()
|
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2001-2011, Terracotta, Inc.
org.quartz.impl.triggers.AbstractTrigger<T>