Overview | Package | Class | Use | Tree | Deprecated | Index | Help
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, MutableTrigger, 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.SimpleTrigger
`MISFIRE_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`

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` - A `Date` set to the time for the `Trigger` to fire.
    `endTime` - A `Date` set to the time for the `Trigger` to quit repeat firing.
    `repeatCount` - The number of times for the `Trigger` to repeat firing, use `SimpleTrigger.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` - A `Date` set to the time for the `Trigger` to fire.
    `endTime` - A `Date` set to the time for the `Trigger` to quit repeat firing.
    `repeatCount` - The number of times for the `Trigger` to repeat firing, use `SimpleTrigger.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 identified `Job` and repeat at the the given interval the given number of times, or until the given end time.

  Parameters:
    `startTime` - A `Date` set to the time for the `Trigger` to fire.
    `endTime` - A `Date` set to the time for the `Trigger` to quit repeat firing.
    `repeatCount` - The number of times for the `Trigger` to repeat firing, use `SimpleTrigger.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 interface `Trigger`
  Specified by:
    `getStartTime` in class `AbstractTrigger<SimpleTrigger>`

### setStartTime

    public void setStartTime(Date startTime)

  Set the time at which the `SimpleTrigger` should occur.

  Specified by:
    `setStartTime` in interface `MutableTrigger`
  Specified by:
    `setStartTime` in class `AbstractTrigger<SimpleTrigger>`
  Throws:
    `IllegalArgumentException` - if startTime is `null`.

### 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 interface `Trigger`
  Specified by:
    `getEndTime` in class `AbstractTrigger<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 interface `MutableTrigger`
  Specified by:
    `setEndTime` in class `AbstractTrigger<SimpleTrigger>`
  Throws:
    `IllegalArgumentException` - if endTime is before start time.
  See Also:
    `TriggerUtils.computeEndTimeToAllowParticularNumberOfFirings(org.quartz.spi.OperableTrigger, org.quartz.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 interface `SimpleTrigger`
  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 interface `SimpleTrigger`

### 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 interface `SimpleTrigger`

### 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 class `AbstractTrigger<SimpleTrigger>`

### updateAfterMisfire

    public 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:

  - If the Repeat Count is `0`, then the instruction will be interpreted as `MISFIRE_INSTRUCTION_FIRE_NOW`.
  - If the Repeat Count is `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.
  - If the Repeat Count is `> 0`, then the instruction will be interpreted as `MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT`.

  Specified by:
    `updateAfterMisfire` in interface `OperableTrigger`
  Specified by:
    `updateAfterMisfire` in class `AbstractTrigger<SimpleTrigger>`

### triggered

    public 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).

  Specified by:
    `triggered` in interface `OperableTrigger`
  Specified by:
    `triggered` in class `AbstractTrigger<SimpleTrigger>`
  See Also:
    `AbstractTrigger.executionComplete(JobExecutionContext, JobExecutionException)`

### 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 associated `Calendar` (the state should be updated so that it's next fire time is appropriate given the Calendar's new settings).

  Specified by:
    `updateWithNewCalendar` in interface `OperableTrigger`
  Specified by:
    `updateWithNewCalendar` in class `AbstractTrigger<SimpleTrigger>`
  Parameters:
    `calendar` - the modifying calendar
  See Also:
    `AbstractTrigger.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 the `Trigger` 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 interface `OperableTrigger`
  Specified by:
    `computeFirstFireTime` in class `AbstractTrigger<SimpleTrigger>`
  Returns:
    the first time at which the `Trigger` will be fired by the scheduler, which is also the same value `getNextFireTime()` will return (until after the first firing of the `Trigger`).

### 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 interface `Trigger`
  Specified by:
    `getNextFireTime` in class `AbstractTrigger<SimpleTrigger>`
  See Also:
    `TriggerUtils.computeFireTimesBetween(org.quartz.spi.OperableTrigger, org.quartz.Calendar, java.util.Date, java.util.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 interface `Trigger`
  Specified by:
    `getPreviousFireTime` in class `AbstractTrigger<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 interface `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 interface `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 interface `Trigger`
  Specified by:
    `getFireTimeAfter` in class `AbstractTrigger<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 interface `Trigger`
  Specified by:
    `getFinalFireTime` in class `AbstractTrigger<SimpleTrigger>`

### mayFireAgain

    public boolean mayFireAgain()

  Determines whether or not the `SimpleTrigger` will occur again.

  Specified by:
    `mayFireAgain` in interface `Trigger`
  Specified by:
    `mayFireAgain` in class `AbstractTrigger<SimpleTrigger>`

### validate

    public void validate()
                  throws SchedulerException

  Validates whether the properties of the `JobDetail` are valid for submission into a `Scheduler`.

  Specified by:
    `validate` in interface `OperableTrigger`
  Overrides:
    `validate` in class `AbstractTrigger<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 interface `CoreTrigger`

### 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 interface `Trigger`
  Specified by:
    `getScheduleBuilder` in class `AbstractTrigger<SimpleTrigger>`
  See Also:
    `AbstractTrigger.getTriggerBuilder()`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2001-2013, Terracotta, Inc.