Table of Contents

Class S101UpdateApplicator

Namespace
EncDotNet.S100.Datasets.S101
Assembly
EncDotNet.S100.Datasets.S101.dll

Applies S-101 sequential updates (application profile 2) onto a base cell (profile 1) to produce an "up-to-date" document, mirroring the pure document-to-document merge of EncDotNet.S57.S57Document.ApplyChanges.

public static class S101UpdateApplicator
Inheritance
S101UpdateApplicator
Inherited Members

Remarks

Records are keyed by record id (RCID) within each record class. Record-level RUIN selects insert / delete / modify; for feature and information records, Modify merges attributes and associations using their inlined per-element instructions (ATIN / SAUI / FAUI / IUIN). Spatial records (point / multi-point / curve / composite-curve / surface) carry no inline element instructions, so Modify replaces the record wholesale. An update whose edition (DSID/DSED) differs from the base cell's is rejected, and application stops there; S-100 Part 10a, S-98 20.4.3.

Methods

Apply(S101Document, IReadOnlyList<S101Document>, out S101UpdateReport)

Applies an ordered list of update documents onto baseDocument, best-effort, and reports the outcome.

public static S101Document Apply(S101Document baseDocument, IReadOnlyList<S101Document> orderedUpdates, out S101UpdateReport report)

Parameters

baseDocument S101Document

The base cell (application profile 1).

orderedUpdates IReadOnlyList<S101Document>

Update documents in ascending update-number order. The list may be empty (returns the base unchanged).

report S101UpdateReport

Receives a structured, best-effort outcome report.

Returns

S101Document

The merged document. On any failure, the most up-to-date usable document produced so far (at minimum the base) is returned and the failure is noted in report.