Table of Contents

Class TransformationRuleBase<TIn, TOut>

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

Defines a transformation rule of a transformation that has one input argument and an output

public abstract class TransformationRuleBase<TIn, TOut> : GeneralTransformationRule<TIn>

Type Parameters

TIn

The type of the input argument

TOut

The type of the output

Inheritance
TransformationRuleBase<TIn, TOut>
Derived
TraceEntryGroup<TKey, TOut>
Inherited Members

Properties

OutputType

Gets the output type of this transformation rule

public override sealed Type OutputType { get; }

Property Value

Type

Methods

CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items with the specified signature after the current transformation rule

public void CallByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)

Parameters

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

CallByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items with the specified signature after the current transformation rule

public void CallByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Calls all transformation rules that transform items with the specified signature after the current transformation rule

public void CallByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TIn, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the input for this transformation rule

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the input for this transformation rule

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the outputs of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>, Action<TRequiredOutput, IEnumerable<TOut>>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made This version calls this transformation rule for a whol collection of input objects

public void CallForEach<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter, Action<TRequiredOutput, IEnumerable<TOut>> persistor)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

persistor Action<TRequiredOutput, IEnumerable<TOut>>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor) where TRequiredInput : class where TRequiredOutput : class

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>, Predicate<TRequiredInput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn>, Action<TOut, TRequiredOutput>, Predicate<TRequiredInput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TIn> selector, Action<TOut, TRequiredOutput> persistor, Predicate<TRequiredInput> filter)

Parameters

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TIn>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TIn>, Action<TOut, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, bool>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor, Func<TRequiredInput1, TRequiredInput2, bool> filter)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn>, Action<TOut, TRequiredOutput>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn>, Action<TOut, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, bool>)

Create a call dependency, i.e., let this transformation be called as soon as a transformation with the specified signature is made

public void CallFor<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Action<TOut, TRequiredOutput> persistor, Func<TRequiredInput1, TRequiredInput2, bool> filter)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the output of this rule back to the source instance

filter Func<TRequiredInput1, TRequiredInput2, bool>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput1

The first input argument type of the source transformation rule

TRequiredInput2

The second input argument type of the source transformation rule

TRequiredOutput

The output type of the source transformation rule

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls all transformation rules that transform S to T with all of the specified objects after the current transformation rule

public void CallManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls all transformation rules that transform S to T with all of the specified objects after the current transformation rule

public void CallManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, IEnumerable<TRequiredInput>>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TOut, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, IEnumerable<TRequiredInput>>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TOut, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformation rule

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule for all inputs, but no earlier than it created its output

public ITransformationRuleDependency CallManyOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformation rule

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls the transformation rule with the given type with all of the specified inputs after the current transformation rule

public ITransformationRuleDependency CallMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Calls the transformation rule with the given type with all of the specified inputs after the current transformation rule

public ITransformationRuleDependency CallMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallOutputSensitive(GeneralTransformationRule<TIn, TOut>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule)

Parameters

rule GeneralTransformationRule<TIn, TOut>

The dependent transformation rule

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive(GeneralTransformationRule<TIn, TOut>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive(GeneralTransformationRule<TIn, TOut> rule, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TIn, TOut>

The dependent transformation rule

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, TRequiredInput>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TOut, TRequiredInput>

A method that selects the input for the dependent transformation rule

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TOut, TRequiredInput>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TOut, TRequiredInput> selector, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TOut, TRequiredInput>

A method that selects the input for the dependent transformation rule

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, TRequiredInput1>, Func<TIn, TOut, TRequiredInput2>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, TRequiredInput1> selector1, Func<TIn, TOut, TRequiredInput2> selector2)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector1 Func<TIn, TOut, TRequiredInput1>

A method that selects the first input for the dependent transformation

selector2 Func<TIn, TOut, TRequiredInput2>

A method that selects the second input for the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TOut, TRequiredInput1>, Func<TIn, TOut, TRequiredInput2>, Func<TIn, TOut, bool>)

Calls the transformation rule with the given type after the current transformation rule, but no earlier than it created its output

public ITransformationRuleDependency CallOutputSensitive<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TOut, TRequiredInput1> selector1, Func<TIn, TOut, TRequiredInput2> selector2, Func<TIn, TOut, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector1 Func<TIn, TOut, TRequiredInput1>

A method that selects the first input for the dependent transformation

selector2 Func<TIn, TOut, TRequiredInput2>

A method that selects the second input for the dependent transformation

filter Func<TIn, TOut, bool>

A method that filters the cases where the dependency should fire

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument for the called transformation

TRequiredInput2

The second input argument for the called transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Calls the transformation rule with the given type after the current transformation rule

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TIn, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

ArgumentNullException

An ArgumentNullException is thrown if the rule parameter is passed a null instance

MarkInstantiatingFor<TBaseIn, TBaseOut>()

Marks the current transformation rule instantiating for every rule with the specified signature

public void MarkInstantiatingFor<TBaseIn, TBaseOut>()

Type Parameters

TBaseIn

The input argument type of the base transformation rule

TBaseOut

The output argument type of the base transformation rule

MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn>)

Marks the current transformation rule instantiating for every rule with the specified signature

public void MarkInstantiatingFor<TBaseIn, TBaseOut>(Predicate<TIn> filter)

Parameters

filter Predicate<TIn>

The filter that should be used to filter the inputs

Type Parameters

TBaseIn

The input argument type of the base transformation rule

TBaseOut

The output argument type of the base transformation rule

RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items with the specified signature

public void RequireByType<TRequiredInput, TRequiredOutput>(Action<TOut, TRequiredOutput> persistor)

Parameters

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items with the specified signature

public void RequireByType<TRequiredInput, TRequiredOutput>(Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Requires all transformation rules that transform items with the specified signature

public void RequireByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

selector1 Func<TIn, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformations

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires all transformation rules that transform S to T with all of the specified objects

public void RequireManyByType<TRequiredInput, TRequiredOutput>(Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires all transformation rules that transform S to T with all of the specified objects

public void RequireManyByType<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

selector Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformations

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, IEnumerable<TRequiredInput>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires the transformation rule with the given type with all of the specified inputs

public ITransformationRuleDependency RequireMany<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Action<TOut, IEnumerable<TRequiredOutput>>)

Requires the transformation rule with the given type with all of the specified inputs

public ITransformationRuleDependency RequireMany<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Action<TOut, IEnumerable<TRequiredOutput>> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

A method that selects the inputs for the dependent transformations

persistor Action<TOut, IEnumerable<TRequiredOutput>>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation rule

TRequiredInput2

The second input argument type of the dependent transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TIn, TRequiredInput>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TIn, TRequiredInput> selector, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Predicate<TIn>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Predicate<TIn> filter, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

filter Predicate<TIn>

A predicate that filters the data

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Remarks

This version Always takes the input parameter as input for the dependent transformations. Thus, this method will throw an exception, if the types do not match

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Action<TOut, TRequiredOutput>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Action<TOut, TRequiredOutput> persistor)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector1 Func<TIn, TRequiredInput1>

A method that selects the first input for the dependent transformations

selector2 Func<TIn, TRequiredInput2>

A method that selects the second input for the dependent transformations

persistor Action<TOut, TRequiredOutput>

A method that persists the result of the dependent transformation

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformation

TRequiredInput2

The second input argument type of the dependent transformation

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector1 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector2 parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the rule parameter

SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>>, Computation)

This method is a helper function that converts the given selector to a selector of object[]

protected static IEnumerable<object[]> SelectArrays<TRequiredInput>(Func<TIn, TOut, IEnumerable<TRequiredInput>> selector, Computation computation)

Parameters

selector Func<TIn, TOut, IEnumerable<TRequiredInput>>

The source selector that selects the output of dependant transformation rules as typed tuples

computation Computation

The computation from which the arrays are selected

Returns

IEnumerable<object[]>

A collection of inputs for other transformation rules

Type Parameters

TRequiredInput

The type argument of the selector output

Remarks

This method is used as helper function for DependMany. This version is output sensitive. Use it only with the needOutput-parameter of DependMany set to true!

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the inputs parameter

SelectArrays<TRequiredInput1, TRequiredInput2>(Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>, Computation)

This method is a helper function that converts the given selector of tuples to a selector of object[]

protected static IEnumerable<object[]> SelectArrays<TRequiredInput1, TRequiredInput2>(Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector, Computation computation)

Parameters

selector Func<TIn, TOut, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>>

The source selector that selects the output of dependant transformation rules as typed tuples

computation Computation

The computation from which the arrays are selected

Returns

IEnumerable<object[]>

A collection of inputs for other transformation rules

Type Parameters

TRequiredInput1

The first type argument of the selector output tuple

TRequiredInput2

The second type argument pf the selector output tuple

Remarks

This method is used as helper function for DependMany. This version is output sensitive. Use it only with the needOutput-parameter of DependMany set to true!

Exceptions

ArgumentNullException

An ArgumentNullException is thrown whenever a null reference is passed to the selector parameter

ArgumentNullException

An ArgumentNullException is thrown if the inputs parameter is passed a null instance

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey)

Parameters

traceKey TraceEntryGroup<TTraceInput, TTraceOutput>

A transformation rule that should be used as a key for tracing purposes

Returns

ITransformationRuleDependency

Type Parameters

TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceOutput is a base class of TOut and the type parameter TTraceInput is a base class of TIn. Sadly, this cannot be checked by the C# compiler

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceInput>)

Creates a trace entry for every computation of the current transformation rule

public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector)

Parameters

traceKey TraceEntryGroup<TTraceInput, TTraceOutput>

A transformation rule that should be used as a key for tracing purposes

inputSelector Func<TIn, TOut, TTraceInput>

A method that selects the input for the trace entry. If null is specified, the input is taken by default. If this is not possible, an exception is thrown.

Returns

ITransformationRuleDependency

Type Parameters

TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceOutput is a base class of TOut. Sadly, this cannot be checked by the C# compiler

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceInput>, Func<TIn, TOut, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceInput> inputSelector, Func<TIn, TOut, TTraceOutput> outputSelector)

Parameters

traceKey TraceEntryGroup<TTraceInput, TTraceOutput>

A transformation rule that should be used as a key for tracing purposes

inputSelector Func<TIn, TOut, TTraceInput>

A method that selects the input for the trace entry. If null is specified, the input is taken by default. If this is not possible, an exception is thrown.

outputSelector Func<TIn, TOut, TTraceOutput>

A method that selects the output for the trace entry. If null is specified, the output is taken by default. If this is not possible, an exception is thrown.

Returns

ITransformationRuleDependency

Type Parameters

TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput>, Func<TIn, TOut, TTraceOutput>)

Creates a trace entry for every computation of the current transformation rule

public ITransformationRuleDependency TraceAs<TTraceInput, TTraceOutput>(TraceEntryGroup<TTraceInput, TTraceOutput> traceKey, Func<TIn, TOut, TTraceOutput> outputSelector)

Parameters

traceKey TraceEntryGroup<TTraceInput, TTraceOutput>

A transformation rule that should be used as a key for tracing purposes

outputSelector Func<TIn, TOut, TTraceOutput>

A method that selects the output for the trace entry. If null is specified, the output is taken by default. If this is not possible, an exception is thrown.

Returns

ITransformationRuleDependency

Type Parameters

TTraceInput

The input type for the newly created trace entries

TTraceOutput

The output type for the newly created trace entries

Remarks

Using this overload requires that the type parameter TTraceInput is a base class of TIn. Sadly, this cannot be checked by the C# compiler

TraceOutput<TKey>(TraceEntryGroup<TKey, TOut>, Func<TIn, TOut, TKey>)

Creates a trace entry for every computation with the key specified by the given selector method

public ITransformationRuleDependency TraceOutput<TKey>(TraceEntryGroup<TKey, TOut> traceKey, Func<TIn, TOut, TKey> traceSelector)

Parameters

traceKey TraceEntryGroup<TKey, TOut>

The transformation rule that is used as group for direct tracing purposes

traceSelector Func<TIn, TOut, TKey>

A method that selects for an input the appropriate key that should be added to the trace

Returns

ITransformationRuleDependency

Type Parameters

TKey

The type of the trace entry key

TraceOutput<TKey>(Func<TIn, TOut, TKey>)

Creates a trace entry for every computation with the key specified by the given selector method

public TraceEntryGroup<TKey, TOut> TraceOutput<TKey>(Func<TIn, TOut, TKey> traceSelector)

Parameters

traceSelector Func<TIn, TOut, TKey>

A method that selects for an input the appropriate key that should be added to the trace

Returns

TraceEntryGroup<TKey, TOut>

A transformation rule that can be used as group or for direct tracing purposes

Type Parameters

TKey

The type of the trace entry key