Table of Contents

Class S128CatalogueEntry

Namespace
EncDotNet.S100.Datasets.S128.DataModel
Assembly
EncDotNet.S100.Datasets.S128.dll

Abstract base for the three S-128 product feature classes (ElectronicProduct, PhysicalProduct, S100Service).

public abstract class S128CatalogueEntry
Inheritance
S128CatalogueEntry
Derived
Inherited Members

Remarks

The strongly-typed projection of an S128Dataset exposes products through this base type so that callers can iterate the catalogue uniformly without pattern matching on the concrete subclass. Use FeatureType or runtime type tests when product-class dispatch is required.

Properties

Classification

The catalogue element classification text (S-128 § 12 catalogueElementClassification).

public string? Classification { get; init; }

Property Value

string

Coordinates

Coordinates of the source feature (semantics depend on GeometryKind).

public IReadOnlyList<GeoPosition> Coordinates { get; init; }

Property Value

IReadOnlyList<GeoPosition>

EditionNumber

The product edition number (S-128 § 12 attribute editionNumber).

public int? EditionNumber { get; init; }

Property Value

int?

ExtraAttributes

Source attributes that the typed model did not consume.

public IReadOnlyDictionary<string, string> ExtraAttributes { get; init; }

Property Value

IReadOnlyDictionary<string, string>

FeatureType

The product feature class (ElectronicProduct / PhysicalProduct / S100Service).

public required string FeatureType { get; init; }

Property Value

string

GeometryKind

Geometry primitive kind of the source feature.

public S128GeometryKind GeometryKind { get; init; }

Property Value

S128GeometryKind

Id

The GML identifier of the source feature.

public required string Id { get; init; }

Property Value

string

IssueDate

The product issue date (S-128 § 12 attribute issueDate).

public DateTimeOffset? IssueDate { get; init; }

Property Value

DateTimeOffset?

NotForNavigation

Whether the feature carries notForNavigation="true".

public bool? NotForNavigation { get; init; }

Property Value

bool?

OnlineResources

Online-resource records projected from onlineResource complex attributes.

public IReadOnlyList<S128OnlineResource> OnlineResources { get; init; }

Property Value

IReadOnlyList<S128OnlineResource>

ProductNumber

The product number / dataset name carried by the feature (S-128 § 12 attribute productNumber, falling back to datasetName).

public string? ProductNumber { get; init; }

Property Value

string

ProductSpecificationName

Referenced product specification name (e.g. "S-101", "S-104") from productSpecification/name.

public string? ProductSpecificationName { get; init; }

Property Value

string

ProductSpecificationVersion

Referenced product specification version (from productSpecification/version).

public string? ProductSpecificationVersion { get; init; }

Property Value

string

RelatedProducts

All theReference cross-references whose mapping category did not classify as supersession. Raw category text is preserved so callers can dispatch on future enumeration extensions without an enum revision (S-128 § 12).

public IReadOnlyList<S128ProductReference> RelatedProducts { get; }

Property Value

IReadOnlyList<S128ProductReference>

Source

The originating parsed feature.

public required S128Feature Source { get; init; }

Property Value

S128Feature

SupersededBy

Resolved entries that supersede this one — the inverse traversal of Supersedes.

public IReadOnlyList<S128CatalogueEntry> SupersededBy { get; }

Property Value

IReadOnlyList<S128CatalogueEntry>

Supersedes

Resolved targets that this entry supersedes — populated from theReference xlinks whose companion ProductMapping/categoryOfProductMapping classifies as HigherPriorityAlternative (S-128 § 12).

public IReadOnlyList<S128CatalogueEntry> Supersedes { get; }

Property Value

IReadOnlyList<S128CatalogueEntry>

UpdateDate

The product update / edition date (updateDate falling back to editionDate).

public DateTimeOffset? UpdateDate { get; init; }

Property Value

DateTimeOffset?

UpdateNumber

The product update number (S-128 § 12 attribute updateNumber).

public int? UpdateNumber { get; init; }

Property Value

int?