CalendarIntervalTriggerImpl Class

Quartz.NET 3.0 API Documentation
A concrete ITrigger that is used to fire a IJobDetail based upon repeating calendar time intervals.
Inheritance Hierarchy

SystemObject
  Quartz.Impl.TriggersAbstractTrigger
    Quartz.Impl.TriggersCalendarIntervalTriggerImpl

Namespace:  Quartz.Impl.Triggers
Assembly:  Quartz (in Quartz.dll) Version: 3.0.0
Syntax

C#
[SerializableAttribute]
public class CalendarIntervalTriggerImpl : AbstractTrigger, 
	ICalendarIntervalTrigger, ITrigger, IComparable<ITrigger>

The CalendarIntervalTriggerImpl type exposes the following members.

Constructors

  NameDescription
Public methodCalendarIntervalTriggerImpl
Create a ICalendarIntervalTrigger with no settings.
Public methodCalendarIntervalTriggerImpl(String, IntervalUnit, Int32)
Create a CalendarIntervalTriggerImpl that will occur immediately, and repeat at the given interval.
Public methodCalendarIntervalTriggerImpl(String, String, IntervalUnit, Int32)
Create a ICalendarIntervalTrigger that will occur immediately, and repeat at the given interval
Public methodCalendarIntervalTriggerImpl(String, DateTimeOffset, NullableDateTimeOffset, IntervalUnit, Int32)
Create a ICalendarIntervalTrigger that will occur at the given time, and repeat at the given interval until the given end time.
Public methodCalendarIntervalTriggerImpl(String, String, DateTimeOffset, NullableDateTimeOffset, IntervalUnit, Int32)
Create a ICalendarIntervalTrigger that will occur at the given time, and repeat at the given interval until the given end time.
Public methodCalendarIntervalTriggerImpl(String, String, String, String, DateTimeOffset, NullableDateTimeOffset, IntervalUnit, Int32)
Create a ICalendarIntervalTrigger that will occur at the given time, and repeat at the given interval until the given end time.
Top
Properties

  NameDescription
Public propertyCalendarName
Get or set the ICalendar with the given name with this Trigger. Use when setting to dis-associate a Calendar.
(Inherited from AbstractTrigger.)
Public propertyDescription
Get or set the description given to the ITrigger instance by its creator (if any).
(Inherited from AbstractTrigger.)
Public propertyEndTimeUtc
Get the time at which the ICalendarIntervalTrigger should quit repeating.
(Overrides AbstractTriggerEndTimeUtc.)
Public propertyFinalFireTimeUtc
Returns the final time at which the ICalendarIntervalTrigger will fire, if there is no end time set, null will be returned.
(Overrides AbstractTriggerFinalFireTimeUtc.)
Public propertyFireInstanceId
This method should not be used by the Quartz client.
(Inherited from AbstractTrigger.)
Public propertyFullJobName
Returns the 'full name' of the IJob that the ITrigger points to, in the format "group.name".
(Inherited from AbstractTrigger.)
Public propertyFullName
Returns the 'full name' of the ITrigger in the format "group.name".
(Inherited from AbstractTrigger.)
Public propertyGroup
Get the group of this ITrigger. If , Scheduler.DefaultGroup will be used.
(Inherited from AbstractTrigger.)
Public propertyHasAdditionalProperties (Overrides AbstractTriggerHasAdditionalProperties.)
Public propertyHasMillisecondPrecision
Tells whether this Trigger instance can handle events in millisecond precision.
(Overrides AbstractTriggerHasMillisecondPrecision.)
Public propertyJobDataMap
Get or set the JobDataMap that is associated with the ITrigger.

Changes made to this map during job execution are not re-persisted, and in fact typically result in an illegal state.

(Inherited from AbstractTrigger.)
Public propertyJobGroup
Gets or sets the name of the associated IJobDetail's group. If set with , Scheduler.DefaultGroup will be used.
(Inherited from AbstractTrigger.)
Public propertyJobKey (Inherited from AbstractTrigger.)
Public propertyJobName
Get or set the name of the associated IJobDetail.
(Inherited from AbstractTrigger.)
Public propertyKey
Gets the key.
(Inherited from AbstractTrigger.)
Public propertyMisfireInstruction
Get or set the instruction the IScheduler should be given for handling misfire situations for this ITrigger- the concrete ITrigger type that you are using will have defined a set of additional MISFIRE_INSTRUCTION_XXX constants that may be passed to this method.

If not explicitly set, the default value is InstructionNotSet.

(Inherited from AbstractTrigger.)
Public propertyName
Get or sets the name of this ITrigger.
(Inherited from AbstractTrigger.)
Public propertyPreserveHourOfDayAcrossDaylightSavings
If intervals are a day or greater, this property (set to true) will cause the firing of the trigger to always occur at the same time of day, (the time of day of the startTime) regardless of daylight saving time transitions. Default value is false.
Public propertyPriority
The priority of a ITrigger acts as a tie breaker such that if two ITriggers 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.
(Inherited from AbstractTrigger.)
Public propertyRepeatInterval
Get the time interval that will be added to the ICalendarIntervalTrigger's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat.
Public propertyRepeatIntervalUnit
Get or set the interval unit - the time unit on with the interval applies.
Public propertySkipDayIfHourDoesNotExist
If intervals are a day or greater, and preserveHourOfDayAcrossDaylightSavings property is set to true, and the hour of the day does not exist on a given day for which the trigger would fire, the day will be skipped and the trigger advanced a second interval if this property is set to true. Defaults to false.
Public propertyStartTimeUtc
Get the time at which the CalendarIntervalTriggerImpl should occur.
(Overrides AbstractTriggerStartTimeUtc.)
Public propertyTimesTriggered
Get the number of times the ICalendarIntervalTrigger has already fired.
Public propertyTimeZone
Top
Methods

  NameDescription
Public methodClone
Creates a new object that is a copy of the current instance.
(Inherited from AbstractTrigger.)
Public methodCompareTo
Compare the next fire time of this ITrigger to that of another by comparing their keys, or in other words, sorts them according to the natural (i.e. alphabetical) order of their keys.
(Inherited from AbstractTrigger.)
Public methodComputeFirstFireTimeUtc
This method should not be used by the Quartz client.
(Overrides AbstractTriggerComputeFirstFireTimeUtc(ICalendar).)
Public methodEquals(Object)
Determines whether the specified Object is equal to the current Object.
(Inherited from AbstractTrigger.)
Public methodEquals(AbstractTrigger)
Trigger equality is based upon the equality of the TriggerKey.
(Inherited from AbstractTrigger.)
Public methodExecutionComplete
This method should not be used by the Quartz client.
(Inherited from AbstractTrigger.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetFireTimeAfter(NullableDateTimeOffset)
Returns the next time at which the ICalendarIntervalTrigger will fire, after the given time. If the trigger will not fire after the given time, will be returned.
(Overrides AbstractTriggerGetFireTimeAfter(NullableDateTimeOffset).)
Protected methodGetFireTimeAfter(NullableDateTimeOffset, Boolean)
Public methodGetHashCode
Serves as a hash function for a particular type. GetHashCode is suitable for use in hashing algorithms and data structures like a hash table.
(Inherited from AbstractTrigger.)
Public methodGetMayFireAgain
Determines whether or not the ICalendarIntervalTrigger will occur again.
(Overrides AbstractTriggerGetMayFireAgain.)
Public methodGetNextFireTimeUtc
Returns the next time at which the ITrigger is scheduled to fire. If the trigger will not fire again, 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).
(Overrides AbstractTriggerGetNextFireTimeUtc.)
Public methodGetPreviousFireTimeUtc
Returns the previous time at which the ICalendarIntervalTrigger fired. If the trigger has not yet fired, will be returned.
(Overrides AbstractTriggerGetPreviousFireTimeUtc.)
Public methodGetScheduleBuilder (Overrides AbstractTriggerGetScheduleBuilder.)
Public methodGetTriggerBuilder (Inherited from AbstractTrigger.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSetNextFireTimeUtc (Overrides AbstractTriggerSetNextFireTimeUtc(NullableDateTimeOffset).)
Public methodSetPreviousFireTimeUtc (Overrides AbstractTriggerSetPreviousFireTimeUtc(NullableDateTimeOffset).)
Public methodToString
Return a simple string representation of this object.
(Inherited from AbstractTrigger.)
Public methodTriggered
This method should not be used by the Quartz client.

Called when the IScheduler has decided to 'fire' the trigger (Execute the associated IJob), in order to give the ITrigger a chance to update itself for its next triggering (if any).

(Overrides AbstractTriggerTriggered(ICalendar).)
Public methodUpdateAfterMisfire
Updates the ICalendarIntervalTrigger's state based on the MisfireInstruction.XXX that was selected when the ICalendarIntervalTrigger was created.
(Overrides AbstractTriggerUpdateAfterMisfire(ICalendar).)
Public methodUpdateWithNewCalendar
This method should not be used by the Quartz client.

The implementation should update the ITrigger's state based on the given new version of the associated ICalendar (the state should be updated so that it's next fire time is appropriate given the Calendar's new settings).

(Overrides AbstractTriggerUpdateWithNewCalendar(ICalendar, TimeSpan).)
Public methodValidate
Validates whether the properties of the IJobDetail are valid for submission into a IScheduler.
(Overrides AbstractTriggerValidate.)
Protected methodValidateMisfireInstruction
Validates the misfire instruction.
(Overrides AbstractTriggerValidateMisfireInstruction(Int32).)
Top
Remarks

The trigger will fire every N (see RepeatInterval) units of calendar time (see RepeatIntervalUnit) as specified in the trigger's definition. This trigger can achieve schedules that are not possible with ISimpleTrigger (e.g because months are not a fixed number of seconds) or ICronTrigger (e.g. because "every 5 months" is not an even divisor of 12).

If you use an interval unit of Month then care should be taken when setting a StartTimeUtc value that is on a day near the end of the month. For example, if you choose a start time that occurs on January 31st, and have a trigger with unit Month and interval 1, then the next fire time will be February 28th, and the next time after that will be March 28th - and essentially each subsequent firing will occur on the 28th of the month, even if a 31st day exists. If you want a trigger that always fires on the last day of the month - regardless of the number of days in the month, you should use ICronTrigger.

See Also

Reference