public abstract class MasterDetailProcessor extends AbstractMasterDetailProcessor<ParsingContext>
RowProcessor implementation for associating rows extracted from any implementation of AbstractParser into MasterDetailRecord instances.
For each row processed, a call to AbstractMasterDetailProcessor.isMasterRecord(String[], Context) will be made to identify whether or not it is a master row.
The detail rows are automatically associated with the master record in an instance of MasterDetailRecord.
When the master record is fully processed (i.e. MasterDetailRecord contains a master row and all associated detail rows),
it is sent to the user for processing in AbstractMasterDetailProcessor.masterDetailRecordProcessed(MasterDetailRecord, Context).
Note this class extends ObjectRowProcessor and value conversions provided by Conversion instances are fully supported.
MasterDetailRecord,
RowPlacement,
AbstractParser,
ObjectRowListProcessor,
RowProcessorconversions| Constructor and Description |
|---|
MasterDetailProcessor(ObjectRowListProcessor detailProcessor) |
MasterDetailProcessor(RowPlacement rowPlacement,
ObjectRowListProcessor detailProcessor)
Creates a MasterDetailProcessor
|
isMasterRecord, masterDetailRecordProcessed, processEnded, processStarted, rowProcessed, rowProcessedapplyConversions, convertAll, convertFields, convertIndexes, convertType, handleConversionError, initializeConversions, reverseConversions, toDataProcessingExceptionpublic MasterDetailProcessor(RowPlacement rowPlacement, ObjectRowListProcessor detailProcessor)
rowPlacement - indication whether the master records are placed in relation its detail records in the input.
Master record (Totals) Master record (Totals)
above detail records under detail records
Totals | 100 Item | 60
Item | 60 Item | 40
Item | 40 Totals | 100
detailProcessor - the ObjectRowListProcessor that processes detail rows.public MasterDetailProcessor(ObjectRowListProcessor detailProcessor)
Copyright © 2018 Univocity Software Pty Ltd. All rights reserved.