Table of Contents

Class CsvSegmenter

Namespace
Hi.Numerical.CsvParsers
Assembly
HiMech.dll

Segments a CSV stream for the SoftNcRunner pipeline. Consumes the first IndexedFileLine as the title row (populating TitleList and registering any new columns as step variables via StepPropertyAccessDictionaryDependency), then yields each subsequent line as a one-line Sentence for CsvRowSyntax to parse.

public class CsvSegmenter : ISegmenter, IToXElement
Inheritance
CsvSegmenter
Implements
Inherited Members
Extension Methods

Properties

Name

Display name of this segmenter.

public string Name { get; }

Property Value

string

TitleList

Column titles parsed from the first row of the most recent GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress) invocation. Quote- and whitespace-trimmed to match the convention established in the legacy CsvRunner. Reset on each new call so per-file headers stay accurate across multi-file sessions.

public List<string> TitleList { get; }

Property Value

List<string>

XName

XML element name for Generators registration.

public static string XName { get; }

Property Value

string

Methods

GetSentences(LazyLinkedList<IndexedFileLine>, List<INcDependency>, NcDiagnosticProgress)

Segments the indexed file lines into Sentences.

public IEnumerable<Sentence> GetSentences(LazyLinkedList<IndexedFileLine> indexedFileLines, List<INcDependency> ncDependencyList, NcDiagnosticProgress ncDiagnosticProgress)

Parameters

indexedFileLines LazyLinkedList<IndexedFileLine>

The lazy linked list of indexed file lines.

ncDependencyList List<INcDependency>

Dependency list of the owning runner; segmenters that consume header rows (e.g. CsvSegmenter) read host-wired dependencies from here. May be null in lightweight test fixtures — implementations that need a dependency must null-check.

ncDiagnosticProgress NcDiagnosticProgress

Diagnostic progress reporter.

Returns

IEnumerable<Sentence>

A sequence of Sentences.

Reg(XFactory)

Registers this type's deserializer with the given XFactory (or Default when factory is null). Idempotent.

public static void Reg(XFactory factory = null)

Parameters

factory XFactory

ToXElement()

Get the XElement to represent the object.

public XElement ToXElement()

Returns

XElement

XElement to represent the object.