Class HvlRToolReportEngine<D extends Serializable,R extends Serializable>

java.lang.Object
tr.com.havelsan.javarch.report.rtool.starter.engine.impl.HvlRToolReportEngine<D,R>
Type Parameters:
D - the type parameter represents report template design
R - the type parameter represents compiled report template
Direct Known Subclasses:
HvlRToolJrReportEngine

public abstract class HvlRToolReportEngine<D extends Serializable,R extends Serializable> extends Object
The type is abstract class to all operations which is provided from report engine.
  • Field Details

    • LOGGER

      protected static final org.slf4j.Logger LOGGER
      The constant LOGGER.
    • reportTemplateAccessor

      protected final HvlRToolReportTemplateAccessor reportTemplateAccessor
      The Report template accessor.
  • Constructor Details

    • HvlRToolReportEngine

      protected HvlRToolReportEngine(HvlRToolReportTemplateAccessor reportTemplateAccessor)
      Instantiates a new HvlRToolReportEngine.
      Parameters:
      reportTemplateAccessor - the report template accessor
  • Method Details

    • resolveReportTemplateDesign

      public final HvlRToolReportTemplateDesignRecord<D> resolveReportTemplateDesign(String generatedReportKey, HvlRToolTransformedResource reportTemplateResource, Set<HvlRToolTransformedResource> reportImageResources)
      Resolves report template design from report template resources.
      Parameters:
      generatedReportKey - the generated report key
      reportTemplateResource - the report template resource
      reportImageResources - the report image resources
      Returns:
      the resolved report template design record
    • exportReport

      public final HvlRToolReportExportingDataBuffer exportReport(String executableReportKey, HvlRToolReportMediaType reportExportingMediaType, Locale reportLocaleKey, Map<String,Object> reportExecutionParams, Function<HvlRToolResolvedReportDataAdapterModel,Object> reportDataSourceSupplier)
      Exports report result.
      Parameters:
      executableReportKey - the executable report key
      reportExportingMediaType - the report exporting media type
      reportLocaleKey - the report locale key
      reportExecutionParams - the report execution params
      reportDataSourceSupplier - the report data source supplier
      Returns:
      the report exporting data buffer
    • loadReportTemplateDesign

      protected abstract D loadReportTemplateDesign(HvlRToolTransformedResource reportTemplateResource)
      Load report template design.
      Parameters:
      reportTemplateResource - the report template resource
      Returns:
      the report template design
    • doModifyReportTemplateDesign

      protected abstract void doModifyReportTemplateDesign(String generatedReportKey, D reportTemplateDesign, Set<HvlRToolTransformedResource> reportImageResources)
      Do modify report template design.
      Parameters:
      generatedReportKey - the generated report key
      reportTemplateDesign - the report template design
      reportImageResources - the report image resources
    • reportTemplateNameFrom

      protected abstract String reportTemplateNameFrom(D reportTemplateDesign)
      Report template name from.
      Parameters:
      reportTemplateDesign - the report template design
      Returns:
      the report template name
    • serializeReportTemplateDesign

      protected abstract byte[] serializeReportTemplateDesign(D reportTemplateDesign)
      Serialize report template design to bytes content.
      Parameters:
      reportTemplateDesign - the report template design
      Returns:
      the report template content
    • determineReportDataSourceTypeFrom

      protected abstract HvlRToolReportDataSourceType determineReportDataSourceTypeFrom(D reportTemplateDesign)
      Determine report data source type.
      Parameters:
      reportTemplateDesign - the report template design
      Returns:
      the report data source type
    • extractReportExecutingParamsFrom

      protected abstract com.google.common.collect.ImmutableSet<HvlRToolResolvedReportParamModel> extractReportExecutingParamsFrom(D reportTemplateDesign)
      Extracts report executing params from compiled report parameters.
      Parameters:
      reportTemplateDesign - the report template design
      Returns:
      the resolved report param model
    • compileToReportTemplate

      protected abstract R compileToReportTemplate(byte[] reportTemplateContent)
      Compiles report template source to report template.
      Parameters:
      reportTemplateContent - the report template content
      Returns:
      the compiled report template
    • doExportReportAsMsXlsx

      protected abstract void doExportReportAsMsXlsx(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as ms xlsx.
      Parameters:
      reportExecutionContext - the report execution context
    • doExportReportAsMsDocx

      protected abstract void doExportReportAsMsDocx(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as ms docx.
      Parameters:
      reportExecutionContext - the report execution context
    • doExportReportAsCsv

      protected abstract void doExportReportAsCsv(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as csv.
      Parameters:
      reportExecutionContext - the report execution context
    • doExportReportAsPdf

      protected abstract void doExportReportAsPdf(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as pdf.
      Parameters:
      reportExecutionContext - the report execution context
    • doExportReportAsOdt

      protected abstract void doExportReportAsOdt(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as odt.
      Parameters:
      reportExecutionContext - the report execution context
    • doExportReportAsOds

      protected abstract void doExportReportAsOds(HvlRToolReportExecutionContext<R> reportExecutionContext)
      Do export report as ods.
      Parameters:
      reportExecutionContext - the report execution context