Table of Contents

Class Synchronization

Namespace
NMF.Synchronizations
Assembly
NMF.Synchronizations.dll

Denotes an abstract synchronization

public abstract class Synchronization : Transformation
Inheritance
Synchronization
Derived
Inherited Members

Properties

SynchronizationRules

Gets a collection of synchronization rules

public abstract IEnumerable<SynchronizationRuleBase> SynchronizationRules { get; }

Property Value

IEnumerable<SynchronizationRuleBase>

Methods

GetSynchronizationRuleForSignature(Type, Type)

Gets the synchronization rule for the given LHS and RHS type combination

public virtual SynchronizationRuleBase GetSynchronizationRuleForSignature(Type left, Type right)

Parameters

left Type

The LHS type

right Type

The RHS type

Returns

SynchronizationRuleBase

The synchronization rule or null, if no synchronization rule could be found

GetSynchronizationRuleForType(Type)

Gets the synchronization rule for the given synchronization rule type

public virtual SynchronizationRuleBase GetSynchronizationRuleForType(Type type)

Parameters

type Type

The type of synchronization rule

Returns

SynchronizationRuleBase

The synchronization rule object

GetSynchronizationRulesForSignature(Type, Type)

Gets all synchronization rules for the given LHS and RHS type combination

public virtual IEnumerable<SynchronizationRuleBase> GetSynchronizationRulesForSignature(Type left, Type right)

Parameters

left Type

The LHS type

right Type

The RHS type

Returns

IEnumerable<SynchronizationRuleBase>

GetSynchronizationRulesForType(Type)

Gets all synchronization rules of the given type

public virtual IEnumerable<SynchronizationRuleBase> GetSynchronizationRulesForType(Type type)

Parameters

type Type

The type of synchronization rule

Returns

IEnumerable<SynchronizationRuleBase>

All synchronization rules of the given type

RegisterRules()

Registers the rules of this transformation

public override void RegisterRules()

SynchronizeMany<TLeft, TRight>(SynchronizationRule<TLeft, TRight>, ICollection<TLeft>, ICollection<TRight>, ISynchronizationContext)

Synchronizes the given LHS elements with the provided RHS elements or creates them if necessary

public void SynchronizeMany<TLeft, TRight>(SynchronizationRule<TLeft, TRight> startRule, ICollection<TLeft> lefts, ICollection<TRight> rights, ISynchronizationContext synchronizationContext) where TLeft : class where TRight : class

Parameters

startRule SynchronizationRule<TLeft, TRight>

The synchronization rule to start with

lefts ICollection<TLeft>

The LHS elements

rights ICollection<TRight>

The RHS elements

synchronizationContext ISynchronizationContext

The context in which the synchronization shall be executed

Type Parameters

TLeft

The LHS type

TRight

The RHS type

SynchronizeMany<TLeft, TRight>(SynchronizationRule<TLeft, TRight>, ICollection<TLeft>, ICollection<TRight>, SynchronizationDirection, ChangePropagationMode)

Synchronizes the given LHS elements with the provided RHS elements or creates them if necessary

public ISynchronizationContext SynchronizeMany<TLeft, TRight>(SynchronizationRule<TLeft, TRight> startRule, ICollection<TLeft> lefts, ICollection<TRight> rights, SynchronizationDirection direction, ChangePropagationMode changePropagation) where TLeft : class where TRight : class

Parameters

startRule SynchronizationRule<TLeft, TRight>

The synchronization rule to start with

lefts ICollection<TLeft>

The LHS elements

rights ICollection<TRight>

The RHS elements

direction SynchronizationDirection

The direction of the model synchronization

changePropagation ChangePropagationMode

The change propagation mode

Returns

ISynchronizationContext

The synchronization context in which the synchronization takes place

Type Parameters

TLeft

The LHS type

TRight

The RHS type

SynchronizeMany<TLeft, TRight>(ICollection<TLeft>, ICollection<TRight>, ISynchronizationContext)

Synchronizes the given LHS elements with the provided RHS elements or creates them if necessary

public void SynchronizeMany<TLeft, TRight>(ICollection<TLeft> lefts, ICollection<TRight> rights, ISynchronizationContext synchronizationContext) where TLeft : class where TRight : class

Parameters

lefts ICollection<TLeft>

The LHS elements

rights ICollection<TRight>

The RHS elements

synchronizationContext ISynchronizationContext

The context in which the synchronization shall be executed

Type Parameters

TLeft

The LHS type

TRight

The RHS type

SynchronizeMany<TLeft, TRight>(ICollection<TLeft>, ICollection<TRight>, SynchronizationDirection, ChangePropagationMode)

Synchronizes the given LHS elements with the provided RHS elements or creates them if necessary

public ISynchronizationContext SynchronizeMany<TLeft, TRight>(ICollection<TLeft> lefts, ICollection<TRight> rights, SynchronizationDirection direction, ChangePropagationMode changePropagation) where TLeft : class where TRight : class

Parameters

lefts ICollection<TLeft>

The LHS elements

rights ICollection<TRight>

The RHS elements

direction SynchronizationDirection

The direction of the model synchronization

changePropagation ChangePropagationMode

The change propagation mode

Returns

ISynchronizationContext

The synchronization context in which the synchronization takes place

Type Parameters

TLeft

The LHS type

TRight

The RHS type

Synchronize<TLeft, TRight>(SynchronizationRule<TLeft, TRight>, ref TLeft, ref TRight, ISynchronizationContext)

Synchronizes the given LHS element with the provided RHS element or creates them if necessary

public void Synchronize<TLeft, TRight>(SynchronizationRule<TLeft, TRight> startRule, ref TLeft left, ref TRight right, ISynchronizationContext synchronizationContext) where TLeft : class where TRight : class

Parameters

startRule SynchronizationRule<TLeft, TRight>

The rule that should be started with

left TLeft

The LHS element

right TRight

The RHS element

synchronizationContext ISynchronizationContext

The context in which the synchronization shall be executed

Type Parameters

TLeft

The LHS type

TRight

The RHS type

Synchronize<TLeft, TRight>(SynchronizationRule<TLeft, TRight>, ref TLeft, ref TRight, SynchronizationDirection, ChangePropagationMode)

Synchronizes the given LHS element with the provided RHS element or creates them if necessary

public ISynchronizationContext Synchronize<TLeft, TRight>(SynchronizationRule<TLeft, TRight> startRule, ref TLeft left, ref TRight right, SynchronizationDirection direction, ChangePropagationMode changePropagation) where TLeft : class where TRight : class

Parameters

startRule SynchronizationRule<TLeft, TRight>

The rule that should be started with

left TLeft

The LHS element

right TRight

The RHS element

direction SynchronizationDirection

The direction of the model synchronization

changePropagation ChangePropagationMode

The change propagation mode

Returns

ISynchronizationContext

The synchronization context in which the synchronization takes place

Type Parameters

TLeft

The LHS type

TRight

The RHS type

Synchronize<TLeft, TRight>(ref TLeft, ref TRight, ISynchronizationContext)

Synchronizes the given LHS element with the provided RHS element or creates them if necessary

public void Synchronize<TLeft, TRight>(ref TLeft left, ref TRight right, ISynchronizationContext synchronizationContext) where TLeft : class where TRight : class

Parameters

left TLeft

The LHS element

right TRight

The RHS element

synchronizationContext ISynchronizationContext

The context in which the synchronization shall be executed

Type Parameters

TLeft

The LHS type

TRight

The RHS type

Synchronize<TLeft, TRight>(ref TLeft, ref TRight, SynchronizationDirection, ChangePropagationMode)

Synchronizes the given LHS element with the provided RHS element or creates them if necessary

public ISynchronizationContext Synchronize<TLeft, TRight>(ref TLeft left, ref TRight right, SynchronizationDirection direction, ChangePropagationMode changePropagation) where TLeft : class where TRight : class

Parameters

left TLeft

The LHS element

right TRight

The RHS element

direction SynchronizationDirection

The direction of the model synchronization

changePropagation ChangePropagationMode

The change propagation mode

Returns

ISynchronizationContext

The synchronization context in which the synchronization takes place

Type Parameters

TLeft

The LHS type

TRight

The RHS type