Class S128DatasetProcessor
IDatasetProcessor for IHO S-128 Catalogue of Nautical Products GML datasets. Drives the standard S-100 Part 9 XSLT vector portrayal pipeline inherited from GmlDatasetProcessorBase<TFeature> and exposes the parsed catalogue through Dataset.
public sealed class S128DatasetProcessor : GmlDatasetProcessorBase<S128Feature>, IDatasetProcessor, IVectorPortrayalSource, IHeadlessImageRenderer, IDisplayModeAwareDatasetProcessor, ILoadedDatasetProjection
- Inheritance
-
S128DatasetProcessor
- Implements
- Inherited Members
Remarks
Normally created through the S128 registration (used by DatasetPipelineFactory) rather than constructed directly.
Constructors
S128DatasetProcessor(IAssetSource, string, PortrayalCatalogueManager, IDisplayPlaneAuthorityProvider, FeatureCatalogueManager?)
Initializes a new S128DatasetProcessor by reading
the dataset file relativePath from
source. Used by exchange-set bulk loading.
public S128DatasetProcessor(IAssetSource source, string relativePath, PortrayalCatalogueManager catalogueManager, IDisplayPlaneAuthorityProvider authorityProvider, FeatureCatalogueManager? featureCatalogueManager = null)
Parameters
sourceIAssetSourcerelativePathstringcatalogueManagerPortrayalCatalogueManagerauthorityProviderIDisplayPlaneAuthorityProviderfeatureCatalogueManagerFeatureCatalogueManager
S128DatasetProcessor(string, PortrayalCatalogueManager, IDisplayPlaneAuthorityProvider, FeatureCatalogueManager?)
Initializes a new S128DatasetProcessor by reading and parsing the
dataset file at path. The file is read in full and
closed before the constructor returns.
public S128DatasetProcessor(string path, PortrayalCatalogueManager catalogueManager, IDisplayPlaneAuthorityProvider authorityProvider, FeatureCatalogueManager? featureCatalogueManager = null)
Parameters
pathstringPath to the S-128 GML dataset file.
catalogueManagerPortrayalCatalogueManagerSupplies the S-128 portrayal catalogue.
authorityProviderIDisplayPlaneAuthorityProviderResolves the default S-98 display plane for the dataset's content.
featureCatalogueManagerFeatureCatalogueManagerOptional source of the S-128 feature catalogue, used to decode attribute values in feature info; null leaves them undecoded.
Properties
Dataset
The parsed S-128 dataset backing this processor.
public S128Dataset Dataset { get; }
Property Value
Features
The parsed features from the dataset.
protected override IReadOnlyList<S128Feature> Features { get; }
Property Value
ProductDescription
Human-readable product description for info strings (e.g. "Navigational Warnings", "Marine Aids to Navigation").
protected override string ProductDescription { get; }
Property Value
Methods
CreateFeatureXmlSource()
Creates the spec-appropriate feature XML source.
protected override IFeatureXmlSource CreateFeatureXmlSource()
Returns
CreateLoadedData()
Allocates the LoadedDatasetData variant wrapping this processor's already-parsed model. Never re-reads the source bytes.
public override LoadedDatasetData CreateLoadedData()
Returns
- LoadedDatasetData
The catalog payload wrapping the resident model (e.g. an
S125DatasetDataorS102CoverageData).
Remarks
Each GML subclass wraps its resident, already-parsed model in the
matching LoadedDatasetData variant (e.g.
new S125DatasetData(_dataset)) — no second parse.
ValidateDataset()
Runs the product's rule pack, or returns null when the product
has none. Called once by Validate(), which caches the
result.
protected override ValidationReport? ValidateDataset()
Returns
Remarks
Overrides should typically delegate to
ValidationRunner.Run(...) so that an
InvalidOperationException from the typed
projection (e.g. an empty dataset) surfaces as an empty report rather
than propagating out of Validate().