Table of Contents

Class AssignRule<TSemanticElement, TProperty>

Namespace
NMF.AnyText.Model
Assembly
NMF.AnyText.Core.dll

Denotes a rule that assigns the value of a child rule to a certain property

public abstract class AssignRule<TSemanticElement, TProperty> : QuoteRule

Type Parameters

TSemanticElement

The type of the context element

TProperty

The type of the property value

Inheritance
AssignRule<TSemanticElement, TProperty>
Derived
Inherited Members

Properties

Feature

Gets the name of the feature that is assigned

protected abstract string Feature { get; }

Property Value

string

Methods

CanSynthesize(object, ParseContext, SynthesisPlan)

Determines whether the current rule can synthesize rule applications for the given semantic element

public override sealed bool CanSynthesize(object semanticElement, ParseContext context, SynthesisPlan synthesisPlan)

Parameters

semanticElement object

the semantic element

context ParseContext

the context in which the rule is synthesized

synthesisPlan SynthesisPlan

the plan of the synthesis

Returns

bool

true, if a rule application can be synthesized, otherwise false

CanSynthesize(TSemanticElement, TProperty)

Determines whether the current rule can synthesize rule applications for the given semantic element

protected virtual bool CanSynthesize(TSemanticElement semanticElement, TProperty propertyValue)

Parameters

semanticElement TSemanticElement

the semantic element

propertyValue TProperty

the assigned property value

Returns

bool

true, if a rule application can be synthesized, otherwise false

CreateSynthesisRequirements()

Creates a collection of requirements for synthesis

public override IEnumerable<SynthesisRequirement> CreateSynthesisRequirements()

Returns

IEnumerable<SynthesisRequirement>

A collection of synthesis requirements

GetValue(TSemanticElement, ParseContext)

Gets the value of the given property

protected abstract TProperty GetValue(TSemanticElement semanticElement, ParseContext context)

Parameters

semanticElement TSemanticElement

the context element

context ParseContext

the parsing context

Returns

TProperty

the property value

OnActivate(RuleApplication, ParseContext)

Gets called when a rule application is activated

protected override void OnActivate(RuleApplication application, ParseContext context)

Parameters

application RuleApplication

the rule application that is activated

context ParseContext

the context in which the rule application is activated

OnDeactivate(RuleApplication, ParseContext)

Gets called when a rule application is deactivated

protected override void OnDeactivate(RuleApplication application, ParseContext context)

Parameters

application RuleApplication

the rule application that is deactivated

context ParseContext

the context in which the rule application is deactivated

OnValueChange(RuleApplication, ParseContext, RuleApplication)

Gets called when the value of a rule application changes

protected override bool OnValueChange(RuleApplication application, ParseContext context, RuleApplication oldRuleApplication)

Parameters

application RuleApplication

the rule application for which the value changed

context ParseContext

the context in which the value changed

oldRuleApplication RuleApplication

the old rule application

Returns

bool

true, if the rule processed the value change, otherwise false (in which case the value change is propagated)

SetValue(TSemanticElement, TProperty, ParseContext)

Gets called when the value changes

protected abstract void SetValue(TSemanticElement semanticElement, TProperty propertyValue, ParseContext context)

Parameters

semanticElement TSemanticElement

the context element

propertyValue TProperty

the property value

context ParseContext

the parsing context

Synthesize(object, ParsePosition, ParseContext)

Synthesizes a rule application for the given semantic element

public override RuleApplication Synthesize(object semanticElement, ParsePosition position, ParseContext context)

Parameters

semanticElement object
position ParsePosition

the parse position at which the element should be synthesized

context ParseContext

the parse context

Returns

RuleApplication

a rule application