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
type
TypeThe 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
type
TypeThe 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
ISynchronizationContextThe 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
SynchronizationDirectionThe direction of the model synchronization
changePropagation
ChangePropagationModeThe 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
ISynchronizationContextThe 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
SynchronizationDirectionThe direction of the model synchronization
changePropagation
ChangePropagationModeThe 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
TLeftThe LHS element
right
TRightThe RHS element
synchronizationContext
ISynchronizationContextThe 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
TLeftThe LHS element
right
TRightThe RHS element
direction
SynchronizationDirectionThe direction of the model synchronization
changePropagation
ChangePropagationModeThe 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
TLeftThe LHS element
right
TRightThe RHS element
synchronizationContext
ISynchronizationContextThe 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
TLeftThe LHS element
right
TRightThe RHS element
direction
SynchronizationDirectionThe direction of the model synchronization
changePropagation
ChangePropagationModeThe change propagation mode
Returns
- ISynchronizationContext
The synchronization context in which the synchronization takes place
Type Parameters
TLeft
The LHS type
TRight
The RHS type