Class RowDescriptor

java.lang.Object
io.github.kelsoncm.fwf.descriptors.RowDescriptor
Direct Known Subclasses:
DetailRowDescriptor, FooterRowDescriptor, HeaderRowDescriptor

public class RowDescriptor extends Object
Descriptor for a row consisting of multiple ordered columns.

Automatically computes 1-based start/end positions for every column in order and validates that column boundaries are contiguous without overlaps or gaps.

  • Field Details

    • columns

      protected final List<AbstractColumn> columns
      Ordered list of column definitions for this row.
  • Constructor Details

  • Method Details

    • getColumns

      public List<AbstractColumn> getColumns()
      Gets the list of column definitions.
      Returns:
      unmodifiable/ordered list of columns
    • getLineSize

      public int getLineSize()
      Gets the total line size (in characters) required by this row.
      Returns:
      total line size in characters
    • validatePositions

      public void validatePositions()
      Validates that column positions start at 1 and are strictly contiguous.
      Throws:
      IllegalArgumentException - if column positions are invalid or contain gaps/overlaps
    • getValues

      public Map<String,Object> getValues(String rowLine)
      Parses a raw line string into a map of column names to parsed values.
      Parameters:
      rowLine - raw fixed-width row line
      Returns:
      map of column names to parsed values