Class TriggerSerializer<TTrigger>
- Namespace
- Quartz.Serialization.Newtonsoft.Triggers
- Assembly
- Quartz.Serialization.Newtonsoft.dll
Base class for a custom trigger type's JSON serializer.
public abstract class TriggerSerializer<TTrigger> : ITriggerSerializer where TTrigger : ITrigger
Type Parameters
TTrigger
- Inheritance
-
TriggerSerializer<TTrigger>
- Implements
- Derived
- Inherited Members
Remarks
Derive from this for a trigger type of your own. The built-in serializers
(SimpleTriggerSerializer and its siblings) are deliberately public and unsealed:
a trigger deriving from a built-in trigger — HasAdditionalProperties returning
true — pairs with a serializer deriving from the built-in one, overriding
SerializeFields(JsonWriter, TTrigger) / DeserializeFields(TTrigger, JObject) and calling the base so the
built-in fields keep their stored shape.
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.
public abstract string TriggerTypeName { get; }
Property Value
Methods
CreateScheduleBuilder(JObject)
Rebuilds the schedule from the stored fields, as the builder the trigger is reconstructed from.
public abstract IScheduleBuilder CreateScheduleBuilder(JObject source)
Parameters
sourceJObjectThe stored JSON for one trigger.
Returns
DeserializeFields(TTrigger, JObject)
Reads back whatever the schedule builder did not already restore. Does nothing unless overridden, which is right for a trigger whose every field is part of its schedule.
protected virtual void DeserializeFields(TTrigger trigger, JObject source)
Parameters
triggerTTriggerThe trigger being rebuilt.
sourceJObjectThe stored JSON for that trigger.
SerializeFields(JsonWriter, TTrigger)
Writes this kind of trigger's own fields, with the trigger already typed.
protected abstract void SerializeFields(JsonWriter writer, TTrigger trigger)
Parameters
writerJsonWriterThe writer positioned inside the trigger's JSON object.
triggerTTriggerThe trigger being stored.