Table of Contents

Class TransformationRuleSource<TIn, TOut>

Namespace
NMF.Transformations.Linq
Assembly
NMF.Transformations.dll

Represents the usage of a transformation rule with one input argument in a relational pattern

public class TransformationRuleSource<TIn, TOut> : ITransformationRuleDependency, INotifyEnumerable<TransformationComputationWrapper<TIn, TOut>>, IEnumerable<TransformationComputationWrapper<TIn, TOut>>, INotifyEnumerable, IEnumerable, INotifyCollectionChanged, INotifiable, IDisposable where TIn : class where TOut : class

Type Parameters

TIn

The type of the transformation rule input argument

TOut

The transformation rule output type

Inheritance
TransformationRuleSource<TIn, TOut>
Implements
Inherited Members

Constructors

TransformationRuleSource(TransformationRuleBase<TIn, TOut>, ITransformationContext)

Creates a new TransformationRuleSource instance for the given transformation rule in the given context

public TransformationRuleSource(TransformationRuleBase<TIn, TOut> rule, ITransformationContext context)

Parameters

rule TransformationRuleBase<TIn, TOut>

The transformation rule that should be used as source

context ITransformationContext

The context in which the computations should be used by the current instance

Properties

Context

Gets the context in which the transformation rule source is active

public ITransformationContext Context { get; }

Property Value

ITransformationContext

Dependencies

Nodes that notify this node.

public IEnumerable<INotifiable> Dependencies { get; }

Property Value

IEnumerable<INotifiable>

ExecuteBefore

Gets or sets a value indicating whether the computation object should be forwarded before or after the dependencies are resolved

public bool ExecuteBefore { get; set; }

Property Value

bool

ExecutionMetaData

Used by the execution engine during incremental execution.

public ExecutionMetaData ExecutionMetaData { get; }

Property Value

ExecutionMetaData

Filter

Gets or sets the filter to be used to filter computations

public Func<TransformationComputationWrapper<TIn, TOut>, bool> Filter { get; set; }

Property Value

Func<TransformationComputationWrapper<TIn, TOut>, bool>

Successors

The nodes that will get notified by this node.

public ISuccessorList Successors { get; }

Property Value

ISuccessorList

TransformationRule

Gets the transformation rule this transformation rule source is responsible for

public TransformationRuleBase<TIn, TOut> TransformationRule { get; }

Property Value

TransformationRuleBase<TIn, TOut>

Methods

Dispose()

Clears dependencies

public void Dispose()

Dispose(bool)

Clears dependencies

protected virtual void Dispose(bool disposing)

Parameters

disposing bool

A value indicating whether Dispose was called

GetEnumerator()

Gets an enumerator that enumerates the collected computations so far

public IEnumerator<TransformationComputationWrapper<TIn, TOut>> GetEnumerator()

Returns

IEnumerator<TransformationComputationWrapper<TIn, TOut>>

An enumerator

HandleDependency(Computation)

Receives a new computation from the computation rule

public void HandleDependency(Computation computation)

Parameters

computation Computation

The computation that is received

Notify(IList<INotificationResult>)

Gets called when one of the dependencies signals a notification.

public INotificationResult Notify(IList<INotificationResult> sources)

Parameters

sources IList<INotificationResult>

Contains information about what triggered this notification.

Returns

INotificationResult

An object describing the changes that happened in this notification.

Events

CollectionChanged

Gets fired when new elements appear in the trace

public event NotifyCollectionChangedEventHandler CollectionChanged

Event Type

NotifyCollectionChangedEventHandler