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
Methods
CreateScheduleBuilder(JObject)
Rebuilds the schedule from the stored fields, as the builder the trigger is reconstructed from.
IScheduleBuilder CreateScheduleBuilder(JObject source)
Parameters
sourceJObjectThe stored JSON for one trigger.
Returns
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
triggerITriggerThe trigger being rebuilt.
sourceJObjectThe 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
writerJsonWriterThe writer positioned inside the trigger's JSON object.
triggerITriggerThe trigger being stored.