Table of Contents

Class GeneralTransformationRule<TIn>

Namespace
NMF.Transformations
Assembly
NMF.Transformations.dll

Defines a transformation rule of a transformation that has one input argument

public abstract class GeneralTransformationRule<TIn> : GeneralTransformationRule

Type Parameters

TIn

The type of the input argument

Inheritance
GeneralTransformationRule<TIn>
Derived
Inherited Members

Properties

InputType

Gets the type signature of the input arguments of this transformation rule

public override sealed Type[] InputType { get; }

Property Value

Type[]

Methods

Call(GeneralTransformationRule, Func<TIn, object[]>)

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

public ITransformationRuleDependency Call(GeneralTransformationRule rule, Func<TIn, object[]> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn, object[]>

A method that selects the input for the dependent transformation rule

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

CallByType<TRequiredInput>(Func<TIn, TRequiredInput>)

Calls all transformation rules that transform items with the input type after the current transformation rule

public void CallByType<TRequiredInput>(Func<TIn, TRequiredInput> selector)

Parameters

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

CallByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)

Calls all transformation rules that transform items with the input type after the current transformation rule

public void CallByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2)

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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

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

CallFor(GeneralTransformationRule, Func<Computation, TIn>, bool)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor(GeneralTransformationRule rule, Func<Computation, TIn> selector, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule that act as trigger for the current transformation rule

selector Func<Computation, TIn>

A method that selects the input parameters for the current transformation rule

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

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

ArgumentNullException

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

CallFor(GeneralTransformationRule, Func<Computation, TIn>, Predicate<Computation>, bool)

Specify that the current transformation rule is called whenenver objects are transformed with the given transformation rule

public void CallFor(GeneralTransformationRule rule, Func<Computation, TIn> selector, Predicate<Computation> filter, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule that act as trigger for the current transformation rule

selector Func<Computation, TIn>

A method that selects the input parameters for the current transformation rule

filter Predicate<Computation>

A method to filter the objects where the reversed dependency is applicable

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

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

ArgumentNullException

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

CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<TIn>>, bool)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach(GeneralTransformationRule rule, Func<Computation, IEnumerable<TIn>> selector, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule acting as trigger for the current transformation rule

selector Func<Computation, IEnumerable<TIn>>

A method that selects the input parameters for the current transformation rule

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

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

ArgumentNullException

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

CallForEach(GeneralTransformationRule, Func<Computation, IEnumerable<TIn>>, Predicate<Computation>, bool)

Specify that the current transformation rule is called whenenver the given types are transformed multiple times

public void CallForEach(GeneralTransformationRule rule, Func<Computation, IEnumerable<TIn>> selector, Predicate<Computation> filter, bool needOutput)

Parameters

rule GeneralTransformationRule

The transformation rule acting as trigger for the current transformation rule

selector Func<Computation, IEnumerable<TIn>>

A method that selects the input parameters for the current transformation rule

filter Predicate<Computation>

A method that filters the inputs of the transformation rule acting as trigger

needOutput bool

True, if the call must be made after the output of the trigger rule is created, otherwise false

Exceptions

ArgumentNullException

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

ArgumentNullException

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

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>)

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

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>> selector)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

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

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput, TRequiredOutput, bool>)

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

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>> selector, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

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

A method that selects the input for this transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

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 dependent transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>)

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

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>> selector)

Parameters

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

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

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

CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput, TRequiredOutput, bool>)

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

public void CallForEachOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, IEnumerable<TIn>> selector, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

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

A method that selects the input for this transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

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 dependent transformation

Exceptions

ArgumentNullException

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

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>)

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

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>> selector)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

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

A method that selects the inputs for this transformation rule

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 transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

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

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

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

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the applicable instances of S

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 transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>)

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

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>> selector)

Parameters

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

A method that selects the inputs for this transformation rule

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 transformation

Exceptions

ArgumentNullException

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

CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

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

public void CallForEachOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

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

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the applicable instances of S

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 transformation

Exceptions

ArgumentNullException

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

CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<TIn>>)

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

public void CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>)

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

public void CallForEach<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

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

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>>)

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

public void CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>> selector)

Parameters

selector Func<TRequiredInput, IEnumerable<TIn>>

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>>, Predicate<TRequiredInput>)

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

public void CallForEach<TRequiredInput>(Func<TRequiredInput, IEnumerable<TIn>> selector, Predicate<TRequiredInput> filter)

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

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>)

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

public void CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

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

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>, Func<TRequiredInput1, TRequiredInput2, bool>)

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

public void CallForEach<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>>)

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

public void CallForEach<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, IEnumerable<TIn>> selector)

Parameters

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

A method that selects the inputs for this transformation rule

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

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

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

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

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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn>)

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

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, TIn> selector)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput>, Func<TRequiredInput, TRequiredOutput, TIn>, Func<TRequiredInput, TRequiredOutput, bool>)

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

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(TransformationRuleBase<TRequiredInput, TRequiredOutput> rule, Func<TRequiredInput, TRequiredOutput, TIn> selector, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

rule TransformationRuleBase<TRequiredInput, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

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 dependent transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn>)

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

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn> selector)

Parameters

selector Func<TRequiredInput, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

TRequiredOutput

The output type of the dependent transformation

Exceptions

ArgumentNullException

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

CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn>, Func<TRequiredInput, TRequiredOutput, bool>)

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

public void CallForOutputSensitive<TRequiredInput, TRequiredOutput>(Func<TRequiredInput, TRequiredOutput, TIn> selector, Func<TRequiredInput, TRequiredOutput, bool> filter)

Parameters

selector Func<TRequiredInput, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

filter Func<TRequiredInput, TRequiredOutput, bool>

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 dependent transformation

Exceptions

ArgumentNullException

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

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>)

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

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn> selector)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

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 transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

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

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput> rule, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

rule TransformationRuleBase<TRequiredInput1, TRequiredInput2, TRequiredOutput>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the applicable instances of S

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 transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>)

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

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn> selector)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

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 transformation

Exceptions

ArgumentNullException

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

CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>)

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

public void CallForOutputSensitive<TRequiredInput1, TRequiredInput2, TRequiredOutput>(Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn> selector, Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool> filter)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, TIn>

A method that selects the input for this transformation rule

filter Func<TRequiredInput1, TRequiredInput2, TRequiredOutput, bool>

A method that filters the applicable instances of S

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 transformation

Exceptions

ArgumentNullException

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

CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn>)

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

public void CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, TIn> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TRequiredInput, TIn>, Predicate<TRequiredInput>)

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

public void CallFor<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TRequiredInput, TIn> selector, Predicate<TRequiredInput> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallFor<TRequiredInput>(Func<TRequiredInput, TIn>)

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

public void CallFor<TRequiredInput>(Func<TRequiredInput, TIn> selector)

Parameters

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

CallFor<TRequiredInput>(Func<TRequiredInput, TIn>, Predicate<TRequiredInput>)

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

public void CallFor<TRequiredInput>(Func<TRequiredInput, TIn> selector, Predicate<TRequiredInput> filter)

Parameters

selector Func<TRequiredInput, TIn>

A method that selects the input for this transformation rule

filter Predicate<TRequiredInput>

A method that filters the applicable instances of S

Type Parameters

TRequiredInput

The input argument type of the source transformation rule

Exceptions

ArgumentNullException

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

CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, TIn>)

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

public void CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TRequiredInput1, TRequiredInput2, TIn>, Func<TRequiredInput1, TRequiredInput2, bool>)

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

public void CallFor<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TRequiredInput1, TRequiredInput2, TIn> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

selector Func<TRequiredInput1, TRequiredInput2, 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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn>)

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

public void CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn> selector)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, TIn>

A method that selects the input for this transformation rule

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn>, Func<TRequiredInput1, TRequiredInput2, bool>)

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

public void CallFor<TRequiredInput1, TRequiredInput2>(Func<TRequiredInput1, TRequiredInput2, TIn> selector, Func<TRequiredInput1, TRequiredInput2, bool> filter)

Parameters

selector Func<TRequiredInput1, TRequiredInput2, 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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

CallMany(GeneralTransformationRule, Func<TIn, IEnumerable<object[]>>)

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

public ITransformationRuleDependency CallMany(GeneralTransformationRule rule, Func<TIn, IEnumerable<object[]>> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn, IEnumerable<object[]>>

A method that selects the input for the dependent transformation rule

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

CallManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>>)

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

public void CallManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>> selector)

Parameters

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

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

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>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)

Parameters

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

A method that selects the inputs for 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

Exceptions

ArgumentNullException

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

CallMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, IEnumerable<TRequiredInput>>)

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

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

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

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

ArgumentNullException

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

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

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

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

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

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

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>)

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

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

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>, Predicate<TIn>)

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

public ITransformationRuleDependency Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TRequiredInput> selector, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<TIn>)

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

public ITransformationRuleDependency Call<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)

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

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

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

ArgumentNullException

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

Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Predicate<TIn>)

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

public ITransformationRuleDependency Call<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

ArgumentNullException

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

MarkInstantiatingFor(GeneralTransformationRule, Predicate<TIn>)

Marks the current transformation rule instantiating for the specified rule

public void MarkInstantiatingFor(GeneralTransformationRule rule, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule

The transformation rule

filter Predicate<TIn>

The filter that should filter the inputs where this transformation rule is marked instantiating

Require(GeneralTransformationRule, Func<TIn, object[]>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require(GeneralTransformationRule rule, Func<TIn, object[]> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn, object[]>

A method that returns the input of the required transformation rule

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

RequireByType<TRequiredInput>()

Requires all transformation rules that transform items with the input type

public void RequireByType<TRequiredInput>()

Type Parameters

TRequiredInput

The input argument 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>(Func<TIn, TRequiredInput>)

Requires all transformation rules that transform items with the input type

public void RequireByType<TRequiredInput>(Func<TIn, TRequiredInput> selector)

Parameters

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

RequireByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)

Requires all transformation rules that transform items with the input type

public void RequireByType<TRequiredInput1, TRequiredInput2>(Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2)

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

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

ArgumentNullException

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

RequireMany(GeneralTransformationRule, Func<TIn, IEnumerable<object[]>>)

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

public ITransformationRuleDependency RequireMany(GeneralTransformationRule rule, Func<TIn, IEnumerable<object[]>> selector)

Parameters

rule GeneralTransformationRule

The dependent transformation rule

selector Func<TIn, IEnumerable<object[]>>

A method that selects the input arguments for the dependent transformation rule

Returns

ITransformationRuleDependency

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

RequireManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>>)

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

public void RequireManyByType<TRequiredInput>(Func<TIn, IEnumerable<TRequiredInput>> selector)

Parameters

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

Type Parameters

TRequiredInput

The input argument type of the dependent transformations

Exceptions

ArgumentNullException

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

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

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

public void RequireManyByType<TRequiredInput1, TRequiredInput2>(Func<TIn, IEnumerable<Tuple<TRequiredInput1, TRequiredInput2>>> selector)

Parameters

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

A method that selects the inputs for 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

Exceptions

ArgumentNullException

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

RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, IEnumerable<TRequiredInput>>)

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

public ITransformationRuleDependency RequireMany<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, IEnumerable<TRequiredInput>> selector) where TRequiredInput : class

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, IEnumerable<TRequiredInput>>

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

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

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

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

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

The dependent transformation rule

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

A method that selects the inputs for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>)

Requires the transformation rule with the given type

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

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Func<TIn, TRequiredInput>, Predicate<TIn>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Func<TIn, TRequiredInput> selector, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

selector Func<TIn, TRequiredInput>

A method that selects the input for the dependent transformations

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput>, Predicate<TIn>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput>(GeneralTransformationRule<TRequiredInput> rule, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput>

The dependent transformation rule

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput

The input argument type of the dependent transformation

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>)

Requires the transformation rule with the given type

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

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

ArgumentNullException

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

Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2>, Func<TIn, TRequiredInput1>, Func<TIn, TRequiredInput2>, Predicate<TIn>)

Requires the transformation rule with the given type

public ITransformationRuleDependency Require<TRequiredInput1, TRequiredInput2>(GeneralTransformationRule<TRequiredInput1, TRequiredInput2> rule, Func<TIn, TRequiredInput1> selector1, Func<TIn, TRequiredInput2> selector2, Predicate<TIn> filter)

Parameters

rule GeneralTransformationRule<TRequiredInput1, TRequiredInput2>

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

filter Predicate<TIn>

A filter that filters the input arguments that need the specified requirement

Returns

ITransformationRuleDependency

Type Parameters

TRequiredInput1

The first input argument type of the dependent transformations

TRequiredInput2

The second input argument type of the dependent transformations

Exceptions

ArgumentNullException

This exception is thrown if the rule parameter is passed a null instance.

ArgumentNullException

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

ArgumentNullException

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

Rule<TRule>()

Gets the first rule within the rules associated transformation that has the given rule type

public TRule Rule<TRule>() where TRule : GeneralTransformationRule

Returns

TRule

The first transformation rule within the associated transformation or null, if there is none.

Type Parameters

TRule

The type of the transformation rule that is looked for

ToString()

Gets the name of the transformation rule

public override string ToString()

Returns

string

The name of the transformation rule

TraceInput<TKey>(TraceEntryGroup<TKey, TIn>, Func<TIn, TKey>)

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

public void TraceInput<TKey>(TraceEntryGroup<TKey, TIn> traceKey, Func<TIn, TKey> traceSelector) where TKey : class

Parameters

traceKey TraceEntryGroup<TKey, TIn>

A trace group used as a key for the trace functionality

traceSelector Func<TIn, TKey>

A method that returns the trace key for the input of a computation

Type Parameters

TKey

The type that should be used as key for the trace entry

TraceInput<TKey>(Func<TIn, TKey>)

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

public TraceEntryGroup<TKey, TIn> TraceInput<TKey>(Func<TIn, TKey> traceSelector) where TKey : class

Parameters

traceSelector Func<TIn, TKey>

A method that returns the trace key for the input of a computation

Returns

TraceEntryGroup<TKey, TIn>

A trace group that can be used as a key for the trace functionality

Type Parameters

TKey

The type that should be used as key for the trace entry

WithPattern(ITransformationRulePattern<TIn>)

Registers the given pattern for the current transformation rule

public void WithPattern(ITransformationRulePattern<TIn> pattern)

Parameters

pattern ITransformationRulePattern<TIn>

The pattern that should be applied based on the current transformation rule

WithPattern(Func<ITransformationContext, INotifyEnumerable<TIn>>)

Registers the given incremental pattern for the current transformation rule

public void WithPattern(Func<ITransformationContext, INotifyEnumerable<TIn>> patternCreator)

Parameters

patternCreator Func<ITransformationContext, INotifyEnumerable<TIn>>

The relation pattern that should be applied on the current transformation rule

WithPattern(Func<ITransformationContext, IEnumerable<TIn>>)

Registers the given static pattern for the current transformation rule

public void WithPattern(Func<ITransformationContext, IEnumerable<TIn>> patternCreator)

Parameters

patternCreator Func<ITransformationContext, IEnumerable<TIn>>

The relation pattern that should be applied on the current transformation rule