Table of Contents

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

IMutableTrigger

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

See Also