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
FieldsModifier and TypeFieldDescriptionprotected ExtractionControllerFactoryprotected ReportLoaderFactoryprotected PreprocessorFactory -
Constructor Summary
ConstructorsConstructorDescriptionDefaultExtractionController(ExtractionControllerFactory controllerRegistry, ReportLoaderFactory loaderFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected PreprocessorFactoryextract(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 booleanisEmptyBand(BandData parentBand) voidsetPreprocessorFactory(PreprocessorFactory preprocessorFactory) traverseData(ExtractionContext context, List<Map<String, Object>> outputData) protected BandDatawrapData(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:ExtractionControllerMethod should presents controller logic for data extraction and band tree traversal logic- Specified by:
extractin interfaceExtractionController- Parameters:
context- contains band, parent band data and params- Returns:
- list of loaded and wrapped for formatting data
-
extractData
Description copied from interface:ExtractionControllerMethod 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:
extractDatain 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
-