Table of Contents

Class ProjectionDiagnostic

Namespace
EncDotNet.S100.DataModel
Assembly
EncDotNet.S100.Core.dll

A diagnostic message emitted while projecting an S-100 feature-bag dataset (e.g. S421Dataset, S124Dataset) into a strongly-typed data model.

public sealed class ProjectionDiagnostic
Inheritance
ProjectionDiagnostic
Inherited Members

Remarks

Typed-model projections are deliberately permissive: malformed input surfaces here rather than throwing. The only fatal condition is a missing root entity (e.g. an S-421 dataset with no Route feature), which remains an InvalidOperationException.

Use Code for programmatic dispatch — stable identifiers (e.g. "xlink.unresolved", "attribute.parse.double", "feature.missing") are preferred over message-text matching.

Properties

Code

Stable, programmatic identifier for the issue (e.g. "xlink.unresolved", "attribute.parse.int", "attribute.parse.double", "attribute.parse.bool", "attribute.parse.datetime", "feature.missing", "feature.geometry.missing", "feature.duplicate").

public string? Code { get; init; }

Property Value

string

Message

Human-readable description of the issue. Not intended for machine parsing — use Code instead.

public required string Message { get; init; }

Property Value

string

RelatedAttribute

The name of the attribute (or association role) the issue relates to, when applicable (e.g. "routeInfoEditionTime", "routeWaypoint").

public string? RelatedAttribute { get; init; }

Property Value

string

RelatedId

The gml:id of the feature or information type the issue relates to, when applicable.

public string? RelatedId { get; init; }

Property Value

string

Severity

The diagnostic severity.

public required DiagnosticSeverity Severity { get; init; }

Property Value

DiagnosticSeverity

Methods

ToString()

Returns a string that represents the current object.

public override string ToString()

Returns

string

A string that represents the current object.