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
INotifySystemThe inner incrementalization system
Properties
Configuration
The recorded configuration
public Configuration Configuration { get; }
Property Value
DefaultStrategy
The default strategy to apply
public IncrementalizationStrategy DefaultStrategy { get; set; }
Property Value
Inner
The inner incrementalization system
public INotifySystem Inner { get; }
Property Value
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
ExpressionThe 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
ExpressionThe 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
ExpressionThe 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
ExpressionThe 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
ExpressionThe expression that was used
parameters
IEnumerable<ParameterExpression>The parameters
reversible
boolTrue, if the expression should be incrementalized reversable