Class DefaultExtractionController
java.lang.Object
io.jmix.reports.yarg.reporting.extraction.controller.DefaultExtractionController
- All Implemented Interfaces:
ExtractionController
- Direct Known Subclasses:
CrossTabExtractionController
Default data extraction logic implementation
-
Field Summary
Modifier and TypeFieldDescriptionprotected ExtractionControllerFactory
protected ReportLoaderFactory
protected PreprocessorFactory
-
Constructor Summary
ConstructorDescriptionDefaultExtractionController
(ExtractionControllerFactory controllerRegistry, ReportLoaderFactory loaderFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected PreprocessorFactory
extract
(ExtractionContext context) Method should presents controller logic for data extraction and band tree traversal logicextractData
(ExtractionContext context) Method may presents specific logic for for data extraction without traverseprotected Stream<ReportQuery>
getQueries
(ExtractionContext context) getQueriesResult
(ExtractionContext context) getQueriesResult
(Iterator<ReportQuery> queryIterator, ExtractionContext context) getQueryData
(ExtractionContext context, ReportQuery reportQuery) protected boolean
isEmptyBand
(BandData parentBand) void
setPreprocessorFactory
(PreprocessorFactory preprocessorFactory) traverseData
(ExtractionContext context, List<Map<String, Object>> outputData) protected BandData
wrapData
(ExtractionContext context, Map<String, Object> data)
-
Field Details
-
loaderFactory
-
controllerRegistry
-
preprocessorFactory
-
-
Constructor Details
-
DefaultExtractionController
public DefaultExtractionController(ExtractionControllerFactory controllerRegistry, ReportLoaderFactory loaderFactory)
-
-
Method Details
-
createPreprocessorFactory
-
extract
Description copied from interface:ExtractionController
Method should presents controller logic for data extraction and band tree traversal logic- Specified by:
extract
in interfaceExtractionController
- Parameters:
context
- contains band, parent band data and params- Returns:
- list of loaded and wrapped for formatting data
-
extractData
Description copied from interface:ExtractionController
Method may presents specific logic for for data extraction without traverse
ex: data extraction for root band io.jmix.reports.yarg.reporting.DataExtractorImpl#extractData- Specified by:
extractData
in interfaceExtractionController
- Parameters:
context
- - should contains band, parent band data and params- Returns:
- list of loaded data
-
setPreprocessorFactory
-
getPreprocessorFactory
-
traverseData
-
wrapData
-
getQueries
-
getQueriesResult
-
getQueriesResult
protected List<Map<String,Object>> getQueriesResult(Iterator<ReportQuery> queryIterator, ExtractionContext context) -
getQueryData
-
isEmptyBand
-