|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.quartz.impl.triggers Class SimpleTriggerImpl
java.lang.Object org.quartz.impl.triggers.AbstractTrigger<SimpleTrigger> org.quartz.impl.triggers.SimpleTriggerImpl
- All Implemented Interfaces:
- Serializable, Cloneable, Comparable<Trigger>, CoreTrigger, SimpleTrigger, org.quartz.spi.MutableTrigger, org.quartz.spi.OperableTrigger, Trigger
public class SimpleTriggerImpl
- extends AbstractTrigger<SimpleTrigger>
- implements SimpleTrigger, CoreTrigger
A concrete Trigger
that is used to fire a JobDetail
at a given moment in time, and optionally repeated at a specified interval.
- Author:
- James House, contributions by Lieven Govaerts of Ebitec Nv, Belgium.
- See Also:
Trigger
,CronTrigger
,TriggerUtils
, 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 | |
---|---|
SimpleTriggerImpl()
Create a SimpleTrigger with no settings. |
|
SimpleTriggerImpl(String name)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
Date startTime)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
Date startTime,
Date endTime,
int repeatCount,
long repeatInterval)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
int repeatCount,
long repeatInterval)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
String group)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
String group,
Date startTime)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
String group,
Date startTime,
Date endTime,
int repeatCount,
long repeatInterval)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
String group,
int repeatCount,
long repeatInterval)
Deprecated. use a TriggerBuilder instead |
|
SimpleTriggerImpl(String name,
String group,
String jobName,
String jobGroup,
Date startTime,
Date endTime,
int repeatCount,
long repeatInterval)
Deprecated. use a TriggerBuilder instead |
Method Summary | |
---|---|
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. |
int |
computeNumTimesFiredBetween(Date start,
Date end)
|
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 |
getFireTimeBefore(Date end)
Returns the last time at which the SimpleTrigger will
fire, before 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. |
ScheduleBuilder<SimpleTrigger> |
getScheduleBuilder()
Get a ScheduleBuilder that is configured to produce a
schedule identical to this trigger's schedule. |
Date |
getStartTime()
Get the time at which the SimpleTrigger should occur. |
int |
getTimesTriggered()
Get the number of times the SimpleTrigger has already
fired. |
boolean |
hasAdditionalProperties()
Used by extensions of SimpleTrigger to imply that there are additional properties, specifically so that extensions can choose whether to be stored as a serialized blob, or as a flattened SimpleTrigger table. |
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. |
void |
triggered(Calendar calendar)
Called when the
Scheduler 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 |
updateWithNewCalendar(Calendar calendar,
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 boolean |
validateMisfireInstruction(int misfireInstruction)
|
Methods inherited from class org.quartz.impl.triggers.AbstractTrigger |
---|
clone, compareTo, equals, executionComplete, getCalendarName, getDescription, getFireInstanceId, getFullJobName, getFullName, getGroup, getJobDataMap, getJobGroup, getJobKey, getJobName, getKey, getMisfireInstruction, getName, getPriority, getTriggerBuilder, hashCode, setCalendarName, setDescription, setFireInstanceId, setGroup, setJobDataMap, setJobGroup, setJobKey, setJobName, setKey, setMisfireInstruction, setName, setPriority, toString |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.quartz.SimpleTrigger |
---|
getTriggerBuilder |
Methods inherited from interface org.quartz.Trigger |
---|
compareTo, equals, getCalendarName, getDescription, getJobDataMap, getJobKey, getKey, getMisfireInstruction, getPriority |
Constructor Detail |
---|
SimpleTriggerImpl
public SimpleTriggerImpl()
Create a
SimpleTrigger
with no settings.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur immediately, and not repeat.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, String group)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur immediately, and not repeat.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, int repeatCount, long repeatInterval)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur immediately, and repeat at the the given interval the given number of times.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, String group, int repeatCount, long repeatInterval)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur immediately, and repeat at the the given interval the given number of times.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, Date startTime)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur at the given time, and not repeat.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, String group, Date startTime)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur at the given time, and not repeat.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, Date startTime, Date endTime, int repeatCount, long repeatInterval)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur at the given time, and repeat at the the given interval the given number of times, or until the given end time.- Parameters:
startTime
- ADate
set to the time for theTrigger
to fire.endTime
- ADate
set to the time for theTrigger
to quit repeat firing.repeatCount
- The number of times for theTrigger
to repeat firing, useSimpleTrigger.REPEAT_INDEFINITELY
for unlimited times.repeatInterval
- The number of milliseconds to pause between the repeat firing.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, String group, Date startTime, Date endTime, int repeatCount, long repeatInterval)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur at the given time, and repeat at the the given interval the given number of times, or until the given end time.- Parameters:
startTime
- ADate
set to the time for theTrigger
to fire.endTime
- ADate
set to the time for theTrigger
to quit repeat firing.repeatCount
- The number of times for theTrigger
to repeat firing, useSimpleTrigger.REPEAT_INDEFINITELY
for unlimited times.repeatInterval
- The number of milliseconds to pause between the repeat firing.
SimpleTriggerImpl
@Deprecated public SimpleTriggerImpl(String name, String group, String jobName, String jobGroup, Date startTime, Date endTime, int repeatCount, long repeatInterval)
- Deprecated. use a TriggerBuilder instead
Create a
SimpleTrigger
that will occur at the given time, fire the identifiedJob
and repeat at the the given interval the given number of times, or until the given end time.- Parameters:
startTime
- ADate
set to the time for theTrigger
to fire.endTime
- ADate
set to the time for theTrigger
to quit repeat firing.repeatCount
- The number of times for theTrigger
to repeat firing, useSimpleTrigger.REPEAT_INDEFINITELY
for unlimitted times.repeatInterval
- The number of milliseconds to pause between the repeat firing.
Method Detail |
---|
getStartTime
public Date getStartTime()
Get the time at which the
SimpleTrigger
should occur.- Specified by:
getStartTime
in interfaceTrigger
- Specified by:
getStartTime
in classAbstractTrigger<SimpleTrigger>
setStartTime
public void setStartTime(Date startTime)
Set the time at which the
SimpleTrigger
should occur.- Specified by:
setStartTime
in interfaceorg.quartz.spi.MutableTrigger
- Specified by:
setStartTime
in classAbstractTrigger<SimpleTrigger>
- Throws:
IllegalArgumentException
- if startTime isnull
.
getEndTime
public Date getEndTime()
Get the time at which the
SimpleTrigger
should quit repeating - even if repeastCount isn't yet satisfied.- Specified by:
getEndTime
in interfaceTrigger
- Specified by:
getEndTime
in classAbstractTrigger<SimpleTrigger>
- See Also:
getFinalFireTime()
setEndTime
public void setEndTime(Date endTime)
Set the time at which the
SimpleTrigger
should quit repeating (and be automatically deleted).- Specified by:
setEndTime
in interfaceorg.quartz.spi.MutableTrigger
- Specified by:
setEndTime
in classAbstractTrigger<SimpleTrigger>
- Throws:
IllegalArgumentException
- if endTime is before start time.- See Also:
TriggerUtils#computeEndTimeToAllowParticularNumberOfFirings(AbstractTrigger, Calendar, int)
getRepeatCount
public int getRepeatCount()
- Description copied from interface:
SimpleTrigger
Get the the number of times the
SimpleTrigger
should repeat, after which it will be automatically deleted.- Specified by:
getRepeatCount
in interfaceSimpleTrigger
- See Also:
SimpleTrigger.REPEAT_INDEFINITELY
setRepeatCount
public void setRepeatCount(int repeatCount)
Set the the number of time the
SimpleTrigger
should repeat, after which it will be automatically deleted.- Throws:
IllegalArgumentException
- if repeatCount is < 0- See Also:
SimpleTrigger.REPEAT_INDEFINITELY
getRepeatInterval
public long getRepeatInterval()
- Description copied from interface:
SimpleTrigger
Get the the time interval (in milliseconds) at which the
SimpleTrigger
should repeat.- Specified by:
getRepeatInterval
in interfaceSimpleTrigger
setRepeatInterval
public void setRepeatInterval(long repeatInterval)
Set the the time interval (in milliseconds) at which the
SimpleTrigger
should repeat.- Throws:
IllegalArgumentException
- if repeatInterval is <= 0
getTimesTriggered
public int getTimesTriggered()
Get the number of times the
SimpleTrigger
has already fired.- Specified by:
getTimesTriggered
in interfaceSimpleTrigger
setTimesTriggered
public void setTimesTriggered(int timesTriggered)
Set the number of times the
SimpleTrigger
has already fired.
validateMisfireInstruction
protected boolean validateMisfireInstruction(int misfireInstruction)
- Specified by:
validateMisfireInstruction
in classAbstractTrigger<SimpleTrigger>
updateAfterMisfire
public void updateAfterMisfire(Calendar cal)
Updates the
SimpleTrigger
's state based on the MISFIRE_INSTRUCTION_XXX that was selected when theSimpleTrigger
was created.If the misfire instruction is set to MISFIRE_INSTRUCTION_SMART_POLICY, then the following scheme will be used:
- If the Repeat Count is
0
, then the instruction will be interpreted asMISFIRE_INSTRUCTION_FIRE_NOW
. - If the Repeat Count is
REPEAT_INDEFINITELY
, then the instruction will be interpreted asMISFIRE_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. - If the Repeat Count is
> 0
, then the instruction will be interpreted asMISFIRE_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- If the Repeat Count is
- Specified by:
updateAfterMisfire
in interfaceorg.quartz.spi.OperableTrigger
- Specified by:
updateAfterMisfire
in classAbstractTrigger<SimpleTrigger>
triggered
public void triggered(Calendar calendar)
Called when the
Scheduler
has decided to 'fire' the trigger (execute the associatedJob
), in order to give theTrigger
a chance to update itself for its next triggering (if any).- Specified by:
triggered
in interfaceorg.quartz.spi.OperableTrigger
- Specified by:
triggered
in classAbstractTrigger<SimpleTrigger>
updateWithNewCalendar
public void updateWithNewCalendar(Calendar calendar, long misfireThreshold)
- Description copied from class:
AbstractTrigger
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:
updateWithNewCalendar
in interfaceorg.quartz.spi.OperableTrigger
- Specified by:
updateWithNewCalendar
in classAbstractTrigger<SimpleTrigger>
- See Also:
org.quartz.Trigger#updateWithNewCalendar(org.quartz.Calendar, long)
computeFirstFireTime
public Date computeFirstFireTime(Calendar calendar)
Called by the scheduler at the time a
Trigger
is first added to the scheduler, in order to have theTrigger
compute its first fire time, based on any associated calendar.After this method has been called,
getNextFireTime()
should return a valid answer.- Specified by:
computeFirstFireTime
in interfaceorg.quartz.spi.OperableTrigger
- Specified by:
computeFirstFireTime
in classAbstractTrigger<SimpleTrigger>
- Returns:
- the first time at which the
Trigger
will be fired by the scheduler, which is also the same valuegetNextFireTime()
will return (until after the first firing of theTrigger
).
getNextFireTime
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.- Specified by:
getNextFireTime
in interfaceTrigger
- Specified by:
getNextFireTime
in classAbstractTrigger<SimpleTrigger>
- See Also:
TriggerUtils#computeFireTimesBetween(Trigger, Calendar, Date, Date)
getPreviousFireTime
public Date getPreviousFireTime()
Returns the previous time at which the
SimpleTrigger
fired. If the trigger has not yet fired,null
will be returned.- Specified by:
getPreviousFireTime
in interfaceTrigger
- Specified by:
getPreviousFireTime
in classAbstractTrigger<SimpleTrigger>
setNextFireTime
public void setNextFireTime(Date nextFireTime)
Set the next time at which the
SimpleTrigger
should fire.This method should not be invoked by client code.
- Specified by:
setNextFireTime
in interfaceorg.quartz.spi.OperableTrigger
setPreviousFireTime
public void setPreviousFireTime(Date previousFireTime)
Set the previous time at which the
SimpleTrigger
fired.This method should not be invoked by client code.
- Specified by:
setPreviousFireTime
in interfaceorg.quartz.spi.OperableTrigger
getFireTimeAfter
public 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.- Specified by:
getFireTimeAfter
in interfaceTrigger
- Specified by:
getFireTimeAfter
in classAbstractTrigger<SimpleTrigger>
getFireTimeBefore
public Date getFireTimeBefore(Date end)
Returns the last time at which the
SimpleTrigger
will fire, before the given time. If the trigger will not fire before the given time,null
will be returned.
computeNumTimesFiredBetween
public int computeNumTimesFiredBetween(Date start, Date end)
getFinalFireTime
public 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.
- Specified by:
getFinalFireTime
in interfaceTrigger
- Specified by:
getFinalFireTime
in classAbstractTrigger<SimpleTrigger>
mayFireAgain
public boolean mayFireAgain()
Determines whether or not the
SimpleTrigger
will occur again.- Specified by:
mayFireAgain
in interfaceTrigger
- Specified by:
mayFireAgain
in classAbstractTrigger<SimpleTrigger>
validate
public void validate() throws SchedulerException
Validates whether the properties of the
JobDetail
are valid for submission into aScheduler
.- Specified by:
validate
in interfaceorg.quartz.spi.OperableTrigger
- Overrides:
validate
in classAbstractTrigger<SimpleTrigger>
- Throws:
IllegalStateException
- if a required property (such as Name, Group, Class) is not set.SchedulerException
hasAdditionalProperties
public boolean hasAdditionalProperties()
- Used by extensions of SimpleTrigger to imply that there are additional
properties, specifically so that extensions can choose whether to be
stored as a serialized blob, or as a flattened SimpleTrigger table.
- Specified by:
hasAdditionalProperties
in interfaceCoreTrigger
getScheduleBuilder
public ScheduleBuilder<SimpleTrigger> getScheduleBuilder()
- Get a
ScheduleBuilder
that is configured to produce a schedule identical to this trigger's schedule. - Specified by:
getScheduleBuilder
in interfaceTrigger
- Specified by:
getScheduleBuilder
in classAbstractTrigger<SimpleTrigger>
- See Also:
AbstractTrigger.getTriggerBuilder()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright 2001-2011, Terracotta, Inc.