CorrelationQueryResult
Namespace: Dotsider.Core.Analysis.Models
Assembly: Dotsider.Core.dll
The result of a CorrelationQuery: an Outcome with exactly the payload that outcome carries — a Report when resolved, a candidate list when ambiguous, a Message explaining a miss or an unavailable index.
public sealed record CorrelationQueryResult : IEquatable<CorrelationQueryResult>Inheritance
Section titled “Inheritance”Object → CorrelationQueryResult
Implements
Section titled “Implements”Constructors
Section titled “Constructors”CorrelationQueryResult(CorrelationQueryOutcome, CorrelationReport?, IReadOnlyList<CorrelationCandidate>, string?)
Section titled “CorrelationQueryResult(CorrelationQueryOutcome, CorrelationReport?, IReadOnlyList<CorrelationCandidate>, string?)”The result of a CorrelationQuery: an Outcome with exactly the payload that outcome carries — a Report when resolved, a candidate list when ambiguous, a Message explaining a miss or an unavailable index.
Parameters:
Outcome(CorrelationQueryOutcome): How the query resolved.Report(CorrelationReport): The resolved correlation, or null unless Outcome is Resolved.Candidates(IReadOnlyList<CorrelationCandidate>): The ambiguous matches, empty unless Outcome is Ambiguous.Message(String): A human-readable explanation for a non-resolved outcome, or null when resolved.
public CorrelationQueryResult(CorrelationQueryOutcome Outcome, CorrelationReport? Report, IReadOnlyList<CorrelationCandidate> Candidates, string? Message)Properties
Section titled “Properties”Candidates
Section titled “Candidates”The ambiguous matches, empty unless Outcome is Ambiguous.
Returns: IReadOnlyList<CorrelationCandidate>
public IReadOnlyList<CorrelationCandidate> Candidates { get; init; }Message
Section titled “Message”A human-readable explanation for a non-resolved outcome, or null when resolved.
Returns: String
public string? Message { get; init; }Outcome
Section titled “Outcome”How the query resolved.
Returns: CorrelationQueryOutcome
public CorrelationQueryOutcome Outcome { get; init; }Report
Section titled “Report”The resolved correlation, or null unless Outcome is Resolved.
Returns: CorrelationReport
public CorrelationReport? Report { get; init; }Methods
Section titled “Methods”Ambiguous(IReadOnlyList<CorrelationCandidate>, string)
Section titled “Ambiguous(IReadOnlyList<CorrelationCandidate>, string)”Creates an ambiguous result listing every matched candidate.
Parameters:
candidates(IReadOnlyList<CorrelationCandidate>): The matched candidates.message(String): A summary of the ambiguity.
Returns: CorrelationQueryResult
public static CorrelationQueryResult Ambiguous(IReadOnlyList<CorrelationCandidate> candidates, string message)NotFound(string)
Section titled “NotFound(string)”Creates a not-found result explaining the miss.
Parameters:
message(String): Why nothing matched.
Returns: CorrelationQueryResult
public static CorrelationQueryResult NotFound(string message)Resolved(CorrelationReport)
Section titled “Resolved(CorrelationReport)”Creates a resolved result carrying the correlation report.
Parameters:
report(CorrelationReport): The resolved correlation payload.
Returns: CorrelationQueryResult
public static CorrelationQueryResult Resolved(CorrelationReport report)Unavailable(string)
Section titled “Unavailable(string)”Creates an unavailable result explaining why correlation could not run.
Parameters:
message(String): Why the index was unavailable.
Returns: CorrelationQueryResult
public static CorrelationQueryResult Unavailable(string message)