Class VersioningModule<T>
- Namespace
- Nucs.JsonSettings.Modulation
- Assembly
- Nucs.JsonSettings.dll
VersioningModule used to enforce a policy and take VersioningResultAction when the policy detects an invalid version. A policy is a comparer between two Version.
public class VersioningModule<T> : Module, IDisposable where T : JsonSettings, IVersionable
Type Parameters
TThe settings type inheriting IVersionable
- Inheritance
-
VersioningModule<T>
- Implements
- Inherited Members
Constructors
VersioningModule(VersioningResultAction, VersioningPolicyHandler)
public VersioningModule(VersioningResultAction versionMismatchAction, VersioningPolicyHandler policy)
Parameters
versionMismatchActionVersioningResultActionpolicyVersioningPolicyHandler
VersioningModule(VersioningResultAction, VersioningPolicyHandler, object[]?)
public VersioningModule(VersioningResultAction versionMismatchAction, VersioningPolicyHandler policy, object[]? constructingParameters)
Parameters
versionMismatchActionVersioningResultActionpolicyVersioningPolicyHandlerconstructingParametersobject[]
VersioningModule(VersioningResultAction, Version, VersioningPolicyHandler)
public VersioningModule(VersioningResultAction versionMismatchAction, Version expectedVersion, VersioningPolicyHandler policy)
Parameters
versionMismatchActionVersioningResultActionexpectedVersionVersionpolicyVersioningPolicyHandler
VersioningModule(VersioningResultAction, Version, VersioningPolicyHandler, object[]?)
public VersioningModule(VersioningResultAction versionMismatchAction, Version expectedVersion, VersioningPolicyHandler policy, object[]? constructingParameters)
Parameters
versionMismatchActionVersioningResultActionexpectedVersionVersionpolicyVersioningPolicyHandlerconstructingParametersobject[]
Fields
internalCalls
protected int internalCalls
Field Value
loadedPath
protected string? loadedPath
Field Value
Properties
ConstructingParameters
The parameters that'll be passed to the constructor of T.
public virtual object[]? ConstructingParameters { get; set; }
Property Value
- object[]
DefaultPolicy
The default policy used when specifying null
public static VersioningPolicyHandler DefaultPolicy { get; set; }
Property Value
ExpectedVersion
public virtual Version ExpectedVersion { get; set; }
Property Value
Policy
public virtual VersioningPolicyHandler Policy { get; set; }
Property Value
VersionMismatchAction
public virtual VersioningResultAction VersionMismatchAction { get; set; }
Property Value
Methods
Attach(JsonSettings)
public override void Attach(JsonSettings socket)
Parameters
socketJsonSettings
Deattach(JsonSettings)
public override void Deattach(JsonSettings socket)
Parameters
socketJsonSettings
HandleInvalidVersion(T, VersioningResultAction)
protected virtual void HandleInvalidVersion(T sender, VersioningResultAction action)
Parameters
senderTactionVersioningResultAction
SocketOnAfterLoad(JsonSettings, bool)
protected virtual void SocketOnAfterLoad(JsonSettings sender, bool successfulLoad)
Parameters
senderJsonSettingssuccessfulLoadbool
SocketOnBeforeLoad(JsonSettings, ref string)
protected virtual void SocketOnBeforeLoad(JsonSettings sender, ref string destinition)
Parameters
senderJsonSettingsdestinitionstring
SocketOnRecovered(JsonSettings)
protected virtual void SocketOnRecovered(JsonSettings sender)
Parameters
senderJsonSettings