Table of Contents

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

T

The settings type inheriting IVersionable

Inheritance
VersioningModule<T>
Implements
Inherited Members

Constructors

VersioningModule(VersioningResultAction, VersioningPolicyHandler)

public VersioningModule(VersioningResultAction versionMismatchAction, VersioningPolicyHandler policy)

Parameters

versionMismatchAction VersioningResultAction
policy VersioningPolicyHandler

VersioningModule(VersioningResultAction, VersioningPolicyHandler, object[]?)

public VersioningModule(VersioningResultAction versionMismatchAction, VersioningPolicyHandler policy, object[]? constructingParameters)

Parameters

versionMismatchAction VersioningResultAction
policy VersioningPolicyHandler
constructingParameters object[]

VersioningModule(VersioningResultAction, Version, VersioningPolicyHandler)

public VersioningModule(VersioningResultAction versionMismatchAction, Version expectedVersion, VersioningPolicyHandler policy)

Parameters

versionMismatchAction VersioningResultAction
expectedVersion Version
policy VersioningPolicyHandler

VersioningModule(VersioningResultAction, Version, VersioningPolicyHandler, object[]?)

public VersioningModule(VersioningResultAction versionMismatchAction, Version expectedVersion, VersioningPolicyHandler policy, object[]? constructingParameters)

Parameters

versionMismatchAction VersioningResultAction
expectedVersion Version
policy VersioningPolicyHandler
constructingParameters object[]

Fields

internalCalls

protected int internalCalls

Field Value

int

loadedPath

protected string? loadedPath

Field Value

string

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

VersioningPolicyHandler

ExpectedVersion

public virtual Version ExpectedVersion { get; set; }

Property Value

Version

Policy

public virtual VersioningPolicyHandler Policy { get; set; }

Property Value

VersioningPolicyHandler

VersionMismatchAction

public virtual VersioningResultAction VersionMismatchAction { get; set; }

Property Value

VersioningResultAction

Methods

Attach(JsonSettings)

public override void Attach(JsonSettings socket)

Parameters

socket JsonSettings

Deattach(JsonSettings)

public override void Deattach(JsonSettings socket)

Parameters

socket JsonSettings

HandleInvalidVersion(T, VersioningResultAction)

protected virtual void HandleInvalidVersion(T sender, VersioningResultAction action)

Parameters

sender T
action VersioningResultAction

SocketOnAfterLoad(JsonSettings, bool)

protected virtual void SocketOnAfterLoad(JsonSettings sender, bool successfulLoad)

Parameters

sender JsonSettings
successfulLoad bool

SocketOnBeforeLoad(JsonSettings, ref string)

protected virtual void SocketOnBeforeLoad(JsonSettings sender, ref string destinition)

Parameters

sender JsonSettings
destinition string

SocketOnRecovered(JsonSettings)

protected virtual void SocketOnRecovered(JsonSettings sender)

Parameters

sender JsonSettings