Interface IIssuesSetDiffBuilder
An issues-set-diff-builder lets add and remove rules and issues in an IssuesSetDiff.
public interface IIssuesSetDiffBuilder
- Extension Methods
Remarks
An issues-set-diff can be created through CreateIssuesSetDiff(ICompareContext, IIssuesSet, IIssuesSet) or ComputeIssuesDiff(IAnalysisResult, ICompareContext).
When an IIssuesSet is referenced by an IIssuesSetDiff object,
the IIssuesSet.Builder must not be used to add an remove rules and issues,
the IIssuesSetDiffBuilder object must be used instead.
An issues-set-diff is not thread-safe. It is safe to call IIssuesSetDiff methods concurrently from several threads
but it is not safe to call these methods and IIssuesSetDiffBuilder methods concurrently from several threads, this would provoke corrupted state and exceptions.
Property (1)
IssuesSetDiff
The issues-set-diff that is modified by this builder.
IIssuesSetDiff IssuesSetDiff { get; }
Property Value
Methods (9)
AddQualityGate(IQualityGate, IQualityGate)
Add a IQualityGate to both IssuesSetDiff.NewerIssuesSet and IssuesSetDiff.OlderIssuesSet.
void AddQualityGate(IQualityGate newerQualityGate, IQualityGate olderQualityGate)
Parameters
newerQualityGateIQualityGateThe quality gate to add to IssuesSetDiff.NewerIssuesSet.
olderQualityGateIQualityGateThe quality gate to add to IssuesSetDiff.OlderIssuesSet.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet already contains
newerQualityGate,
or if IssuesSetDiff.OlderIssuesSet already containsolderQualityGate
AddQualityGateInNewerIssuesSetOnly(IQualityGate)
Add a IQualityGate to IssuesSetDiff.NewerIssuesSet only.
void AddQualityGateInNewerIssuesSetOnly(IQualityGate newerQualityGate)
Parameters
newerQualityGateIQualityGateThe quality gate to add to IssuesSetDiff.NewerIssuesSet.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet already contains
newerQualityGate.
AddQualityGateInOlderIssuesSetOnly(IQualityGate)
Add a IQualityGate to IssuesSetDiff.OlderIssuesSet only.
void AddQualityGateInOlderIssuesSetOnly(IQualityGate olderQualityGate)
Parameters
olderQualityGateIQualityGateThe quality gate to add to IssuesSetDiff.OlderIssuesSet.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.OlderIssuesSet already contains
olderQualityGate.
AddRule(IRuleIssues, IRuleIssues)
Add a Rule and its Issues to both IssuesSetDiff.NewerIssuesSet and IssuesSetDiff.OlderIssuesSet.
void AddRule(IRuleIssues newerRuleIssues, IRuleIssues olderRuleIssues)
Parameters
newerRuleIssuesIRuleIssuesThe rule and issues to add to IssuesSetDiff.NewerIssuesSet.
olderRuleIssuesIRuleIssuesThe rule and issues to add to IssuesSetDiff.OlderIssuesSet.
Remarks
newerRuleIssues and olderRuleIssues are then compared in the IssuesSetDiff.
A IRuleIssues object can be obtained from GetIssues(IRule, IQueryExecutionSuccessResult).
When a rule is added or removed this.IssuesSetDiff.OlderIssuesSet and NewerIssuesSet, AllQualityGates are not recomputed. Hence the quality gates that rely on issues or debt might have a dirty state.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet already contains the
newerRuleIssues.Rule or if IssuesSetDiff.OlderIssuesSet already contains theolderRuleIssues.Rule.
Also thrown if an issue ofnewerRuleIssues.Issues have a CodeElement that doesn't belong to IssuesSetDiff.NewerIssuesSet.CodeBase or if an issue ofolderRuleIssues.Issues have a CodeElement that doesn't belong to IssuesSetDiff.OlderIssuesSet.CodeBase.
AddRuleInNewerIssuesSetOnly(IRuleIssues)
Add a newerRuleIssues.Rule and its newerRuleIssues.Issues to IssuesSetDiff.NewerIssuesSet only.
void AddRuleInNewerIssuesSetOnly(IRuleIssues newerRuleIssues)
Parameters
newerRuleIssuesIRuleIssuesThe rule and issues to add.
Remarks
A IRuleIssues object can be obtained from GetIssues(IRule, IQueryExecutionSuccessResult).
When a rule is added or removed this.IssuesSetDiff.OlderIssuesSet and NewerIssuesSet, AllQualityGates are not recomputed. Hence the quality gates that rely on issues or debt might have a dirty state.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet already contains the
newerRuleIssues.Rule.
Also thrown if an issue ofnewerRuleIssues.Issues have a CodeElement that doesn't belong to IssuesSetDiff.NewerIssuesSet.CodeBase.
AddRuleInOlderIssuesSetOnly(IRuleIssues)
Add a olderRuleIssues.Rule and its olderRuleIssues.Issues to IssuesSetDiff.OlderIssuesSet only.
void AddRuleInOlderIssuesSetOnly(IRuleIssues olderRuleIssues)
Parameters
olderRuleIssuesIRuleIssuesThe rule and issues to add.
Remarks
A IRuleIssues object can be obtained from GetIssues(IRule, IQueryExecutionSuccessResult).
When a rule is added or removed this.IssuesSetDiff.OlderIssuesSet and NewerIssuesSet, AllQualityGates are not recomputed. Hence the quality gates that rely on issues or debt might have a dirty state.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.OlderIssuesSet already contains the
olderRuleIssues.Rule.
Also thrown if an issue ofolderRuleIssues.Issues have a CodeElement that doesn't belong to IssuesSetDiff.OlderIssuesSet.CodeBase.
ImportIssues(IRuleIssues[], IRuleIssues[])
Aggregate imported issues from newRulesIssues and oldRulesIssues.
void ImportIssues(IRuleIssues[] newRulesIssues, IRuleIssues[] oldRulesIssues)
Parameters
newRulesIssuesIRuleIssues[]The issues in the newer snapshot.
oldRulesIssuesIRuleIssues[]The issues in the older snapshot.
RemoveQualityGate(IQualityGate)
Remove the qualityGate from both IssuesSetDiff.NewerIssuesSet and IssuesSetDiff.OlderIssuesSet.
void RemoveQualityGate(IQualityGate qualityGate)
Parameters
qualityGateIQualityGateThe quality gate to remove. It can be defined in IssuesSetDiff.NewerIssuesSet or IssuesSetDiff.OlderIssuesSet.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet nor IssuesSetDiff.OlderIssuesSet contain the
qualityGate.
RemoveRule(IRule)
Remove the rule and its issues from both IssuesSetDiff.NewerIssuesSet and IssuesSetDiff.OlderIssuesSet.
void RemoveRule(IRule rule)
Parameters
ruleIRuleThe rule to remove. It can be defined in IssuesSetDiff.NewerIssuesSet or IssuesSetDiff.OlderIssuesSet.
Remarks
When a rule is added or removed this.IssuesSetDiff.OlderIssuesSet and NewerIssuesSet, AllQualityGates are not recomputed. Hence the quality gates that rely on issues or debt might have a dirty state.
Exceptions
- ArgumentException
Thrown if IssuesSetDiff.NewerIssuesSet nor IssuesSetDiff.OlderIssuesSet contain the
rule.