Class RowDescriptor
java.lang.Object
io.github.kelsoncm.fwf.descriptors.RowDescriptor
- Direct Known Subclasses:
DetailRowDescriptor, FooterRowDescriptor, HeaderRowDescriptor
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 Summary
FieldsModifier and TypeFieldDescriptionprotected final List<AbstractColumn> Ordered list of column definitions for this row. -
Constructor Summary
ConstructorsConstructorDescriptionRowDescriptor(List<AbstractColumn> columns) Constructs a newRowDescriptorwith a list of column definitions. -
Method Summary
Modifier and TypeMethodDescriptionGets the list of column definitions.intGets the total line size (in characters) required by this row.Parses a raw line string into a map of column names to parsed values.voidValidates that column positions start at 1 and are strictly contiguous.
-
Field Details
-
columns
Ordered list of column definitions for this row.
-
-
Constructor Details
-
RowDescriptor
Constructs a newRowDescriptorwith a list of column definitions.- Parameters:
columns- non-null, non-empty list ofAbstractColumninstances- Throws:
IllegalArgumentException- ifcolumnsis null or empty
-
-
Method Details
-
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
-