Table of Contents

Interface IDatasetProcessorFactory

Namespace
EncDotNet.S100.Datasets.Pipelines
Assembly
EncDotNet.S100.Core.dll

Creates an IDatasetProcessor for a dataset on the local file system, without the caller having to know which S-100 product the file belongs to or how that product's processor is constructed. This is the renderer-neutral, product-agnostic seam a reusable host (e.g. the Mapsui Map.AddS100 extension) depends on so it can turn a dropped file into a processor while referencing neither the concrete DatasetPipelineFactory nor any per-product assembly. DatasetPipelineFactory is the built-in implementation.

public interface IDatasetProcessorFactory

Methods

CreateProcessor(string)

Creates a processor for the dataset file at path, detecting the product specification from the file. Throws NotSupportedException when the file is unrecognized or no processor is registered for its product.

IDatasetProcessor CreateProcessor(string path)

Parameters

path string

Returns

IDatasetProcessor

CreateProcessor(string, string?)

Creates a processor for the file at path, honouring an optional caller-declared product specification (declaredProductSpec) — e.g. a --spec hint or an exchange-set catalogue spec — instead of detecting the product from the file. The default implementation ignores the declared spec and behaves exactly like CreateProcessor(string); a factory that can map a declared product (e.g. the bundled factory) overrides this. Defining it on the interface lets a host request the declared-spec behaviour through any IDatasetProcessorFactory — including a decorator that forwards the call — rather than depending on a concrete factory type.

IDatasetProcessor CreateProcessor(string path, string? declaredProductSpec)

Parameters

path string

Path to the dataset file on the local file system.

declaredProductSpec string

The caller-declared product specification (e.g. "S-101"), or null/blank to detect the product from the file instead.

Returns

IDatasetProcessor

The dataset processor for the file.

CreateProcessorWithFilesystemUpdates(string)

Creates a processor for the base cell file at path, discovering and applying any sibling sequential update files that live in the same directory (S-57 / S-101 Part 10a). Products that never carry .000 sequential updates, or a base cell with no updates on disk, behave identically to CreateProcessor(string).

IDatasetProcessor CreateProcessorWithFilesystemUpdates(string path)

Parameters

path string

Returns

IDatasetProcessor