Table of Contents

Interface ITriggerSerializer

Namespace
Quartz.Serialization.Newtonsoft.Triggers
Assembly
Quartz.Serialization.Newtonsoft.dll

Reads and writes one kind of trigger's own fields, beside the ones every trigger has.

public interface ITriggerSerializer

Remarks

The registry keys serializers by TriggerTypeName, and that name is written into the stored JSON as its discriminator — so it is the name a blob is read back by, and changing it makes every trigger already stored under the old one unreadable. Register an implementation with NewtonsoftJsonSerializerRegistry.AddTriggerSerializer, or derive from TriggerSerializer<TTrigger> to be handed the trigger already typed.

Properties

TriggerTypeName

The discriminator this kind of trigger is stored under, shared with the System.Text.Json package so a blob either wrote is readable by both.

string TriggerTypeName { get; }

Property Value

string

Methods

CreateScheduleBuilder(JObject)

Rebuilds the schedule from the stored fields, as the builder the trigger is reconstructed from.

IScheduleBuilder CreateScheduleBuilder(JObject source)

Parameters

source JObject

The stored JSON for one trigger.

Returns

IScheduleBuilder

DeserializeFields(ITrigger, JObject)

Reads back whatever SerializeFields(JsonWriter, ITrigger) wrote that the schedule builder did not already restore.

void DeserializeFields(ITrigger trigger, JObject source)

Parameters

trigger ITrigger

The trigger being rebuilt.

source JObject

The stored JSON for that trigger.

SerializeFields(JsonWriter, ITrigger)

Writes this kind of trigger's own fields. The fields every trigger has are written around this call rather than by it.

void SerializeFields(JsonWriter writer, ITrigger trigger)

Parameters

writer JsonWriter

The writer positioned inside the trigger's JSON object.

trigger ITrigger

The trigger being stored.