Class GovernancePolicyEvaluatorBuilder<TContext>
- Namespace
- AsiBackbone.Core.Evaluation
- Assembly
- AsiBackbone.Core.dll
Fluent builder for DefaultGovernancePolicyEvaluator<TContext>.
public sealed class GovernancePolicyEvaluatorBuilder<TContext> where TContext : IGovernanceEvaluationContext
Type Parameters
TContextThe 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
constraintIGovernanceConstraint<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
constraintsIEnumerable<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
contributorIThreatModelContributor<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
contributorsIEnumerable<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
decisionPolicyIGovernanceDecisionPolicy<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
loggerILogger<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
optionsGovernancePolicyOptionsThe options, or null for defaults.
Returns
- GovernancePolicyEvaluatorBuilder<TContext>
The same builder instance.