DailyTimeIntervalTriggerImpl Class

Quartz.NET 3.0 API Documentation
A concrete implementation of DailyTimeIntervalTrigger that is used to fire a IJobDetail based upon daily repeating time intervals.
Inheritance Hierarchy

SystemObject
  Quartz.Impl.TriggersAbstractTrigger
    Quartz.Impl.TriggersDailyTimeIntervalTriggerImpl

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

C#
[SerializableAttribute]
public class DailyTimeIntervalTriggerImpl : AbstractTrigger, 
	IDailyTimeIntervalTrigger, ITrigger, IComparable<ITrigger>

The DailyTimeIntervalTriggerImpl type exposes the following members.

Constructors

  NameDescription
Public methodDailyTimeIntervalTriggerImpl
Create a IDailyTimeIntervalTrigger with no settings.
Public methodDailyTimeIntervalTriggerImpl(String, TimeOfDay, TimeOfDay, IntervalUnit, Int32)
Create a IDailyTimeIntervalTrigger that will occur immediately, and repeat at the given interval.
Public methodDailyTimeIntervalTriggerImpl(String, String, TimeOfDay, TimeOfDay, IntervalUnit, Int32)
Create a IDailyTimeIntervalTrigger that will occur immediately, and repeat at the given interval.
Public methodDailyTimeIntervalTriggerImpl(String, DateTimeOffset, NullableDateTimeOffset, TimeOfDay, TimeOfDay, IntervalUnit, Int32)
Create a IDailyTimeIntervalTrigger that will occur at the given time, and repeat at the given interval until the given end time.
Public methodDailyTimeIntervalTriggerImpl(String, String, DateTimeOffset, NullableDateTimeOffset, TimeOfDay, TimeOfDay, IntervalUnit, Int32)
Create a IDailyTimeIntervalTrigger that will occur at the given time, and repeat at the given interval until the given end time.
Public methodDailyTimeIntervalTriggerImpl(String, String, String, String, DateTimeOffset, NullableDateTimeOffset, TimeOfDay, TimeOfDay, IntervalUnit, Int32)
Create a IDailyTimeIntervalTrigger that will occur at the given time, fire the identified job 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 propertyDaysOfWeek
The days of the week upon which to fire.
Public propertyDescription
Get or set the description given to the ITrigger instance by its creator (if any).
(Inherited from AbstractTrigger.)
Public propertyEndTimeOfDay
The time of day to complete firing at the given interval.
Public propertyEndTimeUtc
the time at which the IDailyTimeIntervalTrigger should quit repeating.
(Overrides AbstractTriggerEndTimeUtc.)
Public propertyFinalFireTimeUtc
Returns the final time at which the IDailyTimeIntervalTrigger 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
This trigger has no additional properties besides what's defined in this class.
(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 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 propertyRepeatCount
Get the number of times for interval this trigger should repeat, after which it will be automatically deleted.
Public propertyRepeatInterval
the time interval that will be added to the IDailyTimeIntervalTrigger's fire time (in the set repeat interval unit) in order to calculate the time of the next trigger repeat.
Public propertyRepeatIntervalUnit
the interval unit - the time unit on with the interval applies.
Public propertyStartTimeOfDay
The time of day to start firing at the given interval.
Public propertyStartTimeUtc
The time at which the IDailyTimeIntervalTrigger should occur.
(Overrides AbstractTriggerStartTimeUtc.)
Public propertyTimesTriggered
the number of times the IDailyTimeIntervalTrigger 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
Returns the next time at which the IDailyTimeIntervalTrigger will fire, after the given time. If the trigger will not fire after the given time, will be returned.
(Overrides AbstractTriggerGetFireTimeAfter(NullableDateTimeOffset).)
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 IDailyTimeIntervalTrigger 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
Get a IScheduleBuilder that is configured to produce a schedule identical to this trigger's schedule.
(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
Set the next time at which the IDailyTimeIntervalTrigger should fire.
(Overrides AbstractTriggerSetNextFireTimeUtc(NullableDateTimeOffset).)
Public methodSetPreviousFireTimeUtc
Set the previous time at which the IDailyTimeIntervalTrigger fired.
(Overrides AbstractTriggerSetPreviousFireTimeUtc(NullableDateTimeOffset).)
Public methodToString
Return a simple string representation of this object.
(Inherited from AbstractTrigger.)
Public methodTriggered
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).
(Overrides AbstractTriggerTriggered(ICalendar).)
Public methodUpdateAfterMisfire
Updates the ICalendarIntervalTrigger's state based on the MisfireInstruction.XXX that was selected when the IDailyTimeIntervalTrigger was created.
(Overrides AbstractTriggerUpdateAfterMisfire(ICalendar).)
Public methodUpdateWithNewCalendar
Public methodValidate
Validates whether the properties of the IJobDetail are valid for submission into a IScheduler.
(Overrides AbstractTriggerValidate.)
Protected methodValidateMisfireInstruction (Overrides AbstractTriggerValidateMisfireInstruction(Int32).)
Top
Fields

  NameDescription
Public fieldStatic memberRepeatIndefinitely
Used to indicate the 'repeat count' of the trigger is indefinite. Or in other words, the trigger should repeat continually until the trigger's ending timestamp.
Top
Remarks

The trigger will fire every N (RepeatInterval ) seconds, minutes or hours (see RepeatInterval) during a given time window on specified days of the week.

For example#1, a trigger can be set to fire every 72 minutes between 8:00 and 11:00 everyday. It's fire times would be 8:00, 9:12, 10:24, then next day would repeat: 8:00, 9:12, 10:24 again.

For example#2, a trigger can be set to fire every 23 minutes between 9:20 and 16:47 Monday through Friday.

On each day, the starting fire time is reset to startTimeOfDay value, and then it will add repeatInterval value to it until the endTimeOfDay is reached. If you set daysOfWeek values, then fire time will only occur during those week days period. Again, remember this trigger will reset fire time each day with startTimeOfDay, regardless of your interval or endTimeOfDay!

The default values for fields if not set are: startTimeOfDay defaults to 00:00:00, the endTimeOfDay default to 23:59:59, and daysOfWeek is default to every day. The startTime default to current time-stamp now, while endTime has not value.

If startTime is before startTimeOfDay, then startTimeOfDay will be used and startTime has no affect other than to specify the first day of firing. Else if startTime is after startTimeOfDay, then the first fire time for that day will be the next interval after the startTime. For example, if you set startingTimeOfDay=9am, endingTimeOfDay=11am, interval=15 mins, and startTime=9:33am, then the next fire time will be 9:45pm. Note also that if you do not set startTime value, the trigger builder will default to current time, and current time maybe before or after the startTimeOfDay! So be aware how you set your startTime.

This trigger also supports "repeatCount" feature to end the trigger fire time after a certain number of count is reached. Just as the SimpleTrigger, setting repeatCount=0 means trigger will fire once only! Setting any positive count then the trigger will repeat count + 1 times. Unlike SimpleTrigger, the default value of repeatCount of this trigger is set to REPEAT_INDEFINITELY instead of 0 though.

See Also

Reference