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
,
RowProcessor
conversions
Constructor and Description |
---|
MasterDetailProcessor(ObjectRowListProcessor detailProcessor) |
MasterDetailProcessor(RowPlacement rowPlacement,
ObjectRowListProcessor detailProcessor)
Creates a MasterDetailProcessor
|
isMasterRecord, masterDetailRecordProcessed, processEnded, processStarted, rowProcessed, rowProcessed
applyConversions, convertAll, convertFields, convertIndexes, convertType, handleConversionError, initializeConversions, reverseConversions, toDataProcessingException
public 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 © 2021 Univocity Software Pty Ltd. All rights reserved.