Skip to content

FileFormats

FileFormats declares the four supported flat-file layout strategies that FileReader<TRecord> and FileWriter<TRecord> select between when parsing or writing a record type, based on the format attribute discovered on the type (see BR-003).

Purpose

  • Identifies which parsing/writing strategy (quoted CSV, fixed-width, tab-delimited, or custom-delimited) applies to a given record type via its FormatBase-derived attribute.
  • MultipleRecord is declared as a value but is never handled by FileReader<TRecord>.PrepareParser or by any branch in FileWriter<TRecord> — it is an unimplemented format value*.

Context

  • Namespace: SAIF.Common.Files
  • Assembly/package: SAIF.Framework.Common.Files

Public members

Member Signature Purpose
Csv Csv = 0 Comma-delimited format with quoted-field handling (BR-005).
Fixed Fixed = 1 Fixed-width format where each field occupies a declared position and length (BR-008).
TabDelimited TabDelimited = 2 Tab-character-delimited format.
Delimited Delimited = 3 Custom-delimiter format, with the delimiter supplied via the DelimitedBy attribute.
MultipleRecord MultipleRecord = 4 Declared but not handled by any reader/writer code path — an unimplemented format value*.

Behavioral notes

  • The enum value on a type's format attribute is matched against a caller-requested format to select the configuration to use (BR-003).
  • MultipleRecord has no corresponding parser/writer branch, so a type declaring this format would fail during reading or writing*.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts.

Sources

  • Common\SAIF.Common.Files\Core\Enums.cs