Interface IScheduleBuilder
- Namespace
- Quartz
- Assembly
- Quartz.dll
Schedule builders offer fluent interface and are responsible for creating schedules.
public interface IScheduleBuilder
Methods
Build()
Build the actual Trigger -- NOT intended to be invoked by end users, but will rather be invoked by a TriggerBuilder which this ScheduleBuilder is given to.
IMutableTrigger Build()
Returns
Remarks
The IMutableTrigger in the signature is deliberate, and it is the reason this member says it is not for end users. Build() has to write the identity, the job key, the calendar name, the start and end times, the priority and the misfire instruction onto what it is handed, so a schedule builder that returned ITrigger would only move the downcast one line later and lose the compiler's help doing it.
The alternative — moving this interface into Quartz.Extensibility beside its return type —
was considered and refused: WithSchedule(IScheduleBuilder) is the most-read signature on
the trigger builder, and putting an extensibility namespace into it would charge every reader for
a member no mainstream caller invokes. The leak is a declaration, not a call.
- See Also