pub struct CapabilityEvaluation { /* private fields */ }Expand description
Fail-closed output from one trusted capability evaluation.
Implementations§
Source§impl CapabilityEvaluation
impl CapabilityEvaluation
Sourcepub fn not_evaluated_outcomes(&self) -> &[CapabilityNotEvaluated]
pub fn not_evaluated_outcomes(&self) -> &[CapabilityNotEvaluated]
Explicit fail-closed outcomes emitted by this capability.
Sourcepub fn tables(&self) -> &[ReportTable]
pub fn tables(&self) -> &[ReportTable]
Tables of measured values emitted by this capability.
Sourcepub fn evaluated(findings: Vec<Finding>) -> Self
pub fn evaluated(findings: Vec<Finding>) -> Self
Creates a conclusive evaluation from zero or more findings.
Sourcepub fn push_table(&mut self, table: ReportTable)
pub fn push_table(&mut self, table: ReportTable)
Adds a table of measured values, reported beside the findings.
A table without rows is dropped: it measured nothing, and the not-evaluated outcomes already say why. Tables are informative only; they never stand in for a finding or a not-evaluated outcome.
Sourcepub fn not_evaluated(
reason: NotEvaluatedReason,
message: impl Into<String>,
) -> Self
pub fn not_evaluated( reason: NotEvaluatedReason, message: impl Into<String>, ) -> Self
Creates a rule-level not-evaluated outcome.
Sourcepub fn push_finding(&mut self, finding: Finding)
pub fn push_finding(&mut self, finding: Finding)
Adds a conclusive finding, about an object, a source or the project
as its Scope says.
Sourcepub fn push_graded_finding(&mut self, finding: Finding, deviation: Deviation)
pub fn push_graded_finding(&mut self, finding: Finding, deviation: Deviation)
Adds a finding of a value missing its bound by deviation, so a rule
declaring severity bands grades it. The finding keeps its own
severity otherwise; the deviation is never reported.
Sourcepub fn push_finding_deviating(
&mut self,
finding: Finding,
deviation: Option<Deviation>,
)
pub fn push_finding_deviating( &mut self, finding: Finding, deviation: Option<Deviation>, )
Adds a finding, graded when deviation is known.
Sourcepub fn deviation(&self, finding: usize) -> Option<Deviation>
pub fn deviation(&self, finding: usize) -> Option<Deviation>
The deviation a graded finding was pushed with, by its index in
Self::findings; None for an ungraded one.
Sourcepub fn findings_mut(&mut self) -> &mut [Finding]
pub fn findings_mut(&mut self) -> &mut [Finding]
Findings, for an OutcomeRefiner to refine in place.
Sourcepub fn not_evaluated_outcomes_mut(&mut self) -> &mut [CapabilityNotEvaluated]
pub fn not_evaluated_outcomes_mut(&mut self) -> &mut [CapabilityNotEvaluated]
Not-evaluated outcomes, for an OutcomeRefiner to locate.
Sourcepub fn take_findings(&mut self) -> Vec<Finding>
pub fn take_findings(&mut self) -> Vec<Finding>
Removes and returns every finding, for an OutcomeRefiner to put
back refined; deviations are dropped with them.
Sourcepub fn push_not_evaluated_about(
&mut self,
scope: Scope,
reason: NotEvaluatedReason,
message: impl Into<String>,
)
pub fn push_not_evaluated_about( &mut self, scope: Scope, reason: NotEvaluatedReason, message: impl Into<String>, )
Adds a not-evaluated outcome about scope: an object, a source, or
the rule as a whole.
Sourcepub fn push_not_evaluated(
&mut self,
reason: NotEvaluatedReason,
message: impl Into<String>,
)
pub fn push_not_evaluated( &mut self, reason: NotEvaluatedReason, message: impl Into<String>, )
Adds a rule-level not-evaluated outcome.
Sourcepub fn push_source_not_evaluated(
&mut self,
source: SourceId,
reason: NotEvaluatedReason,
message: impl Into<String>,
)
pub fn push_source_not_evaluated( &mut self, source: SourceId, reason: NotEvaluatedReason, message: impl Into<String>, )
Adds a not-evaluated outcome about one source as a whole, such as a count over that source that undecided objects could still change.
Sourcepub fn push_object_not_evaluated(
&mut self,
object_id: ObjectId,
reason: NotEvaluatedReason,
message: impl Into<String>,
)
pub fn push_object_not_evaluated( &mut self, object_id: ObjectId, reason: NotEvaluatedReason, message: impl Into<String>, )
Adds an object-specific not-evaluated outcome.