Table of Contents

Class GovernancePolicyEvaluatorBuilder<TContext>

Namespace
AsiBackbone.Core.Evaluation
Assembly
AsiBackbone.Core.dll
public sealed class GovernancePolicyEvaluatorBuilder<TContext> where TContext : IGovernanceEvaluationContext

Type Parameters

TContext

The framework-neutral evaluation context type.

Inheritance
GovernancePolicyEvaluatorBuilder<TContext>
Inherited Members

Remarks

Every call to Build() creates an independent evaluator that snapshots the constraints and threat model contributors added so far. Later builder changes do not affect evaluators that were already built. Options are validated and frozen by the first evaluator built with them.

Methods

AddConstraint(IGovernanceConstraint<TContext>)

Adds a constraint to the end of the active policy structure.

public GovernancePolicyEvaluatorBuilder<TContext> AddConstraint(IGovernanceConstraint<TContext> constraint)

Parameters

constraint IGovernanceConstraint<TContext>

The constraint to add.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

AddConstraints(IEnumerable<IGovernanceConstraint<TContext>>)

Adds constraints, in order, to the end of the active policy structure.

public GovernancePolicyEvaluatorBuilder<TContext> AddConstraints(IEnumerable<IGovernanceConstraint<TContext>> constraints)

Parameters

constraints IEnumerable<IGovernanceConstraint<TContext>>

The constraints to add.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

AddThreatModelContributor(IThreatModelContributor<TContext>)

Adds a threat model contributor that inspects the context before constraint composition.

public GovernancePolicyEvaluatorBuilder<TContext> AddThreatModelContributor(IThreatModelContributor<TContext> contributor)

Parameters

contributor IThreatModelContributor<TContext>

The contributor to add.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

AddThreatModelContributors(IEnumerable<IThreatModelContributor<TContext>>)

Adds threat model contributors, in order, that inspect the context before constraint composition.

public GovernancePolicyEvaluatorBuilder<TContext> AddThreatModelContributors(IEnumerable<IThreatModelContributor<TContext>> contributors)

Parameters

contributors IEnumerable<IThreatModelContributor<TContext>>

The contributors to add.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

Build()

Creates an evaluator from the current builder state.

public DefaultGovernancePolicyEvaluator<TContext> Build()

Returns

DefaultGovernancePolicyEvaluator<TContext>

A new evaluator.

WithDecisionPolicy(IGovernanceDecisionPolicy<TContext>?)

Sets the decision policy applied after composition, replacing any previously set policy.

public GovernancePolicyEvaluatorBuilder<TContext> WithDecisionPolicy(IGovernanceDecisionPolicy<TContext>? decisionPolicy)

Parameters

decisionPolicy IGovernanceDecisionPolicy<TContext>

The decision policy, or null for none.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

WithLogger(ILogger<DefaultGovernancePolicyEvaluator<TContext>>?)

Sets the logger used to emit operational warning signals, replacing any previously set logger.

public GovernancePolicyEvaluatorBuilder<TContext> WithLogger(ILogger<DefaultGovernancePolicyEvaluator<TContext>>? logger)

Parameters

logger ILogger<DefaultGovernancePolicyEvaluator<TContext>>

The logger, or null for none.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.

WithOptions(GovernancePolicyOptions?)

Sets the evaluator options, replacing any previously set options.

public GovernancePolicyEvaluatorBuilder<TContext> WithOptions(GovernancePolicyOptions? options)

Parameters

options GovernancePolicyOptions

The options, or null for defaults.

Returns

GovernancePolicyEvaluatorBuilder<TContext>

The same builder instance.