public class SimpleTriggerImpl extends AbstractTrigger implements SimpleTrigger
A concrete that is used to fire a Trigger at a given moment in time, and
optionally repeated at a specified interval.
JobDetail
Trigger.CompletedExecutionInstruction, Trigger.TriggerTimeComparatorendTime, nextFireTime, previousFireTime, startTimeMISFIRE_INSTRUCTION_FIRE_NOW, MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT, MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT, MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT, MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT, REPEAT_INDEFINITELY, serialVersionUIDDEFAULT_PRIORITY, MISFIRE_INSTRUCTION_IGNORE_MISFIRE_POLICY, MISFIRE_INSTRUCTION_SMART_POLICY| Constructor and Description |
|---|
SimpleTriggerImpl()
Create a
SimpleTrigger with no settings. |
| Modifier and Type | Method and Description |
|---|---|
Date |
computeFirstFireTime(Calendar calendar)
Called by the scheduler at the time a
Trigger is first added to the scheduler, in order to have the Trigger compute its
first fire time, based on any associated calendar. |
Date |
getEndTime()
Get the time at which the
SimpleTrigger should quit repeating - even if repeastCount isn't yet satisfied. |
Date |
getFinalFireTime()
Returns the final time at which the
SimpleTrigger will fire, if repeatCount is REPEAT_INDEFINITELY, null will be returned. |
Date |
getFireTimeAfter(Date afterTime)
Returns the next time at which the
SimpleTrigger will fire, after the given time. |
Date |
getNextFireTime()
Returns the next time at which the
Trigger is scheduled to fire. |
Date |
getPreviousFireTime()
Returns the previous time at which the
SimpleTrigger fired. |
int |
getRepeatCount()
Get the the number of times the
SimpleTrigger should repeat, after which it will be automatically deleted. |
long |
getRepeatInterval()
Get the the time interval (in milliseconds) at which the
SimpleTrigger should repeat. |
Date |
getStartTime()
Get the time at which the
SimpleTrigger should occur. |
int |
getTimesTriggered()
Get the number of times the
SimpleTrigger has already fired. |
boolean |
mayFireAgain()
Determines whether or not the
SimpleTrigger will occur again. |
void |
setEndTime(Date endTime)
Set the time at which the
SimpleTrigger should quit repeating (and be automatically deleted). |
void |
setNextFireTime(Date nextFireTime)
Set the next time at which the
SimpleTrigger should fire. |
void |
setPreviousFireTime(Date previousFireTime)
Set the previous time at which the
SimpleTrigger fired. |
void |
setRepeatCount(int repeatCount)
Set the the number of time the
SimpleTrigger should repeat, after which it will be automatically deleted. |
void |
setRepeatInterval(long repeatInterval)
Set the the time interval (in milliseconds) at which the
SimpleTrigger should repeat. |
void |
setStartTime(Date startTime)
Set the time at which the
SimpleTrigger should occur. |
void |
setTimesTriggered(int timesTriggered)
Set the number of times the
SimpleTrigger has already fired. |
String |
toString() |
void |
triggered(Calendar calendar)
Called when the
has decided to 'fire' the trigger (execute the associated Job), in order to give the
Trigger a chance to update itself for its next triggering (if any). |
void |
updateAfterMisfire(Calendar cal)
Updates the
SimpleTrigger's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the SimpleTrigger was
created. |
void |
validate()
Validates whether the properties of the
JobDetail are valid for submission into a Scheduler. |
protected boolean |
validateMisfireInstruction(int misfireInstruction) |
clone, compareTo, equals, executionComplete, getCalendarName, getDescription, getFireInstanceId, getJobDataMap, getJobName, getMisfireInstruction, getName, getPriority, hashCode, setCalendarName, setDescription, setFireInstanceId, setJobDataMap, setJobName, setMisfireInstruction, setName, setPriorityfinalize, getClass, notify, notifyAll, wait, wait, waitequals, getCalendarName, getDescription, getJobDataMap, getJobName, getMisfireInstruction, getName, getPrioritycompareTopublic SimpleTriggerImpl()
Create a SimpleTrigger with no settings.
public Date getStartTime()
Get the time at which the SimpleTrigger should occur.
getStartTime in interface Triggerpublic void setStartTime(Date startTime)
Set the time at which the SimpleTrigger should occur.
setStartTime in interface MutableTriggerIllegalArgumentException - if startTime is null.public Date getEndTime()
Get the time at which the SimpleTrigger should quit repeating - even if repeastCount isn't yet satisfied.
getEndTime in interface TriggergetFinalFireTime()public void setEndTime(Date endTime)
Set the time at which the SimpleTrigger should quit repeating (and be automatically deleted).
setEndTime in interface MutableTriggerIllegalArgumentException - if endTime is before start time.TriggerUtils#computeEndTimeToAllowParticularNumberOfFirings(Trigger, Calendar, int)public int getRepeatCount()
SimpleTrigger
Get the the number of times the SimpleTrigger should repeat, after which it will be automatically deleted.
getRepeatCount in interface SimpleTriggerSimpleTrigger.REPEAT_INDEFINITELYpublic void setRepeatCount(int repeatCount)
Set the the number of time the SimpleTrigger should repeat, after which it will be automatically deleted.
IllegalArgumentException - if repeatCount is < 0SimpleTrigger.REPEAT_INDEFINITELYpublic long getRepeatInterval()
SimpleTrigger
Get the the time interval (in milliseconds) at which the SimpleTrigger should repeat.
getRepeatInterval in interface SimpleTriggerpublic void setRepeatInterval(long repeatInterval)
Set the the time interval (in milliseconds) at which the SimpleTrigger should repeat.
IllegalArgumentException - if repeatInterval is <= 0public int getTimesTriggered()
Get the number of times the SimpleTrigger has already fired.
getTimesTriggered in interface SimpleTriggerpublic void setTimesTriggered(int timesTriggered)
Set the number of times the SimpleTrigger has already fired.
protected boolean validateMisfireInstruction(int misfireInstruction)
validateMisfireInstruction in class AbstractTriggerpublic void updateAfterMisfire(Calendar cal)
Updates the SimpleTrigger's state based on the MISFIRE_INSTRUCTION_XXX that was selected when the SimpleTrigger was
created.
If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY, then the following scheme will be used:
0, then the instruction will be interpreted as MISFIRE_INSTRUCTION_FIRE_NOW.REPEAT_INDEFINITELY, then the instruction will be interpreted as
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT. WARNING: using
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT with a trigger that has a non-null end-time may cause the trigger to never fire again if
the end-time arrived during the misfire time span.> 0, then the instruction will be interpreted as
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT.
If the misfire instruction is set to Trigger.MISFIRE_INSTRUCTION_SKIP_TO_NEXT_FIRE_AFTER_CURRENT_DATE then the behavior will be
identical to
updateAfterMisfire in interface OperableTriggerpublic void triggered(Calendar calendar)
Called when the has decided to 'fire' the trigger (execute the associated SchedulerJob), in order to give the
Trigger a chance to update itself for its next triggering (if any).
triggered in interface OperableTriggerAbstractTrigger.executionComplete(JobExecutionContext, JobExecutionException)public Date computeFirstFireTime(Calendar calendar)
Called by the scheduler at the time a Trigger is first added to the scheduler, in order to have the Trigger compute its
first fire time, based on any associated calendar.
After this method has been called, getNextFireTime() should return a valid answer.
computeFirstFireTime in interface OperableTriggerTrigger will be fired by the scheduler, which is also the same value
getNextFireTime() will return (until after the first firing of the Trigger).
public Date getNextFireTime()
Returns the next time at which the Trigger is scheduled to fire. If the trigger will not fire again, null will 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 Trigger has been added to the scheduler.
getNextFireTime in interface TriggerTriggerUtils#computeFireTimesBetween(Trigger, Calendar, Date, Date)public Date getPreviousFireTime()
Returns the previous time at which the SimpleTrigger fired. If the trigger has not yet fired, null will be returned.
getPreviousFireTime in interface Triggerpublic void setNextFireTime(Date nextFireTime)
Set the next time at which the SimpleTrigger should fire.
This method should not be invoked by client code.
setNextFireTime in interface OperableTriggerpublic void setPreviousFireTime(Date previousFireTime)
Set the previous time at which the SimpleTrigger fired.
This method should not be invoked by client code.
setPreviousFireTime in interface OperableTriggerpublic Date getFireTimeAfter(Date afterTime)
Returns the next time at which the SimpleTrigger will fire, after the given time. If the trigger will not fire after the given time,
null will be returned.
getFireTimeAfter in interface Triggerpublic Date getFinalFireTime()
Returns the final time at which the SimpleTrigger will fire, if repeatCount is REPEAT_INDEFINITELY, null will be returned.
Note that the return time may be in the past.
getFinalFireTime in interface Triggerpublic boolean mayFireAgain()
Determines whether or not the SimpleTrigger will occur again.
mayFireAgain in interface Triggerpublic void validate()
throws SchedulerException
Validates whether the properties of the JobDetail are valid for submission into a Scheduler.
validate in interface OperableTriggervalidate in class AbstractTriggerIllegalStateException - if a required property (such as Name, Group, Class) is not set.SchedulerExceptionpublic String toString()
toString in class AbstractTriggerCopyright © 2011–2017 Knowm Inc.. All rights reserved.