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
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
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
typeTypeThe 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
Returns
GetSynchronizationRulesForType(Type)
Gets all synchronization rules of the given type
public virtual IEnumerable<SynchronizationRuleBase> GetSynchronizationRulesForType(Type type)
Parameters
typeTypeThe 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
startRuleSynchronizationRule<TLeft, TRight>The synchronization rule to start with
leftsICollection<TLeft>The LHS elements
rightsICollection<TRight>The RHS elements
synchronizationContextISynchronizationContextThe context in which the synchronization shall be executed
Type Parameters
TLeftThe LHS type
TRightThe 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
startRuleSynchronizationRule<TLeft, TRight>The synchronization rule to start with
leftsICollection<TLeft>The LHS elements
rightsICollection<TRight>The RHS elements
directionSynchronizationDirectionThe direction of the model synchronization
changePropagationChangePropagationModeThe change propagation mode
Returns
- ISynchronizationContext
The synchronization context in which the synchronization takes place
Type Parameters
TLeftThe LHS type
TRightThe 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
leftsICollection<TLeft>The LHS elements
rightsICollection<TRight>The RHS elements
synchronizationContextISynchronizationContextThe context in which the synchronization shall be executed
Type Parameters
TLeftThe LHS type
TRightThe 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
leftsICollection<TLeft>The LHS elements
rightsICollection<TRight>The RHS elements
directionSynchronizationDirectionThe direction of the model synchronization
changePropagationChangePropagationModeThe change propagation mode
Returns
- ISynchronizationContext
The synchronization context in which the synchronization takes place
Type Parameters
TLeftThe LHS type
TRightThe 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
startRuleSynchronizationRule<TLeft, TRight>The rule that should be started with
leftTLeftThe LHS element
rightTRightThe RHS element
synchronizationContextISynchronizationContextThe context in which the synchronization shall be executed
Type Parameters
TLeftThe LHS type
TRightThe 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
startRuleSynchronizationRule<TLeft, TRight>The rule that should be started with
leftTLeftThe LHS element
rightTRightThe RHS element
directionSynchronizationDirectionThe direction of the model synchronization
changePropagationChangePropagationModeThe change propagation mode
Returns
- ISynchronizationContext
The synchronization context in which the synchronization takes place
Type Parameters
TLeftThe LHS type
TRightThe 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
leftTLeftThe LHS element
rightTRightThe RHS element
synchronizationContextISynchronizationContextThe context in which the synchronization shall be executed
Type Parameters
TLeftThe LHS type
TRightThe 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
leftTLeftThe LHS element
rightTRightThe RHS element
directionSynchronizationDirectionThe direction of the model synchronization
changePropagationChangePropagationModeThe change propagation mode
Returns
- ISynchronizationContext
The synchronization context in which the synchronization takes place
Type Parameters
TLeftThe LHS type
TRightThe RHS type