Table of Contents

Class RecordingNotifySystem

Namespace
NMF.Expressions
Assembly
NMF.Expressions.Configuration.dll

Denotes an incrementalization system that records any requests

public class RecordingNotifySystem : INotifySystem
Inheritance
RecordingNotifySystem
Implements
Inherited Members
Extension Methods

Constructors

RecordingNotifySystem(INotifySystem)

Creates a new recording incrementalization system

public RecordingNotifySystem(INotifySystem inner)

Parameters

inner INotifySystem

The inner incrementalization system

Properties

Configuration

The recorded configuration

public Configuration Configuration { get; }

Property Value

Configuration

DefaultStrategy

The default strategy to apply

public IncrementalizationStrategy DefaultStrategy { get; set; }

Property Value

IncrementalizationStrategy

Inner

The inner incrementalization system

public INotifySystem Inner { get; }

Property Value

INotifySystem

Methods

CreateExpression(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyExpression CreateExpression(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyExpression

An incremental expression object

CreateExpression<T>(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyExpression<T> CreateExpression<T>(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyExpression<T>

An incremental expression object

Type Parameters

T

The type of the expression

CreateReversableExpression<T>(Expression, IEnumerable<ParameterExpression>, IDictionary<string, object>)

Creates an incremental expression for the given code expression

public INotifyReversableExpression<T> CreateReversableExpression<T>(Expression expression, IEnumerable<ParameterExpression> parameters, IDictionary<string, object> parameterMappings)

Parameters

expression Expression

The expression from which to create an incremental expression

parameters IEnumerable<ParameterExpression>

The parameters of the expression

parameterMappings IDictionary<string, object>

A given mapping of parameters

Returns

INotifyReversableExpression<T>

An incremental expression object

Type Parameters

T

The type of the expression

GetApplicableStrategies(Expression, IEnumerable<ParameterExpression>)

Calculates the strategies applicable to incrementalize the given expression

protected virtual IEnumerable<IncrementalizationStrategy> GetApplicableStrategies(Expression expression, IEnumerable<ParameterExpression> parameters)

Parameters

expression Expression

The expression that shall be incrementalized

parameters IEnumerable<ParameterExpression>

The parameters

Returns

IEnumerable<IncrementalizationStrategy>

A colection of viable incrementalization strategies

RecordExpressionUsage(Expression, IEnumerable<ParameterExpression>, bool)

Records the usage of the given expression

protected virtual void RecordExpressionUsage(Expression expression, IEnumerable<ParameterExpression> parameters, bool reversible)

Parameters

expression Expression

The expression that was used

parameters IEnumerable<ParameterExpression>

The parameters

reversible bool

True, if the expression should be incrementalized reversable