Package io.jmix.reportsflowui.runner
Class TableReportExecutionPresentation
java.lang.Object
io.jmix.reportsflowui.runner.TableReportExecutionPresentation
- All Implemented Interfaces:
ReportExecutionPresentation
@NullMarked
@Component("report_TableReportExecutionPresentation")
public class TableReportExecutionPresentation
extends Object
implements ReportExecutionPresentation
ReportExecutionPresentation that targets the in-dialog table viewer.
Supports only templates whose output type is ReportOutputType.TABLE.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetAvailableOutputTypes(@Nullable Report report, @Nullable ReportTemplate template) getAvailableTemplates(@Nullable Report report) getId()booleanrequiresUserChoice(@Nullable Report report, @Nullable ReportTemplate selectedTemplate, @Nullable ReportOutputType selectedOutputType) A selection passed in the arguments does not automatically remove the need to ask: the built-in presentations still let the user choose between several compatible templates, but do not ask for an output type that has already been chosen.@Nullable ReportOutputTyperesolveDefaultOutputType(@Nullable Report report, @Nullable ReportTemplate template, @Nullable ReportOutputType selectedOutputType) Resolves the output type to run the report with.@Nullable ReportTemplateresolveDefaultTemplate(@Nullable Report report, @Nullable ReportTemplate selectedTemplate) booleansupportsReport(@Nullable Report report) protected booleansupportsTemplate(@Nullable ReportTemplate template)
-
Constructor Details
-
TableReportExecutionPresentation
public TableReportExecutionPresentation()
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceReportExecutionPresentation- Returns:
ReportExecutionPresentationIds.TABLE
-
supportsReport
- Specified by:
supportsReportin interfaceReportExecutionPresentation- Returns:
trueif the report has at least one template that produces table output
-
getAvailableTemplates
- Specified by:
getAvailableTemplatesin interfaceReportExecutionPresentation- Returns:
- templates of the report whose output type is
ReportOutputType.TABLE
-
resolveDefaultTemplate
public @Nullable ReportTemplate resolveDefaultTemplate(@Nullable Report report, @Nullable ReportTemplate selectedTemplate) - Specified by:
resolveDefaultTemplatein interfaceReportExecutionPresentation- Returns:
- the template to use by default, preferring
selectedTemplateif it produces table output
-
getAvailableOutputTypes
public List<ReportOutputType> getAvailableOutputTypes(@Nullable Report report, @Nullable ReportTemplate template) - Specified by:
getAvailableOutputTypesin interfaceReportExecutionPresentation- Returns:
- an empty list — the table presentation does not support alterable output types
-
resolveDefaultOutputType
public @Nullable ReportOutputType resolveDefaultOutputType(@Nullable Report report, @Nullable ReportTemplate template, @Nullable ReportOutputType selectedOutputType) Description copied from interface:ReportExecutionPresentationResolves the output type to run the report with.An explicitly requested
selectedOutputType, e.g. the one set through the report runner API, must not be silently replaced: an implementation may return another type only if the requested one cannot be produced, either because this presentation is unable to render it or because the template cannot be converted to it. Restrictions on what the user is allowed to choose belong toReportExecutionPresentation.getAvailableOutputTypes(Report, ReportTemplate)instead.- Specified by:
resolveDefaultOutputTypein interfaceReportExecutionPresentation- Returns:
ReportOutputType.TABLEif the template produces table output,nullotherwise
-
requiresUserChoice
public boolean requiresUserChoice(@Nullable Report report, @Nullable ReportTemplate selectedTemplate, @Nullable ReportOutputType selectedOutputType) Description copied from interface:ReportExecutionPresentationA selection passed in the arguments does not automatically remove the need to ask: the built-in presentations still let the user choose between several compatible templates, but do not ask for an output type that has already been chosen.- Specified by:
requiresUserChoicein interfaceReportExecutionPresentation- Returns:
trueif the report has more than one table-compatible template (the user must choose which template to use, even if a default was pre-filled)
-
supportsTemplate
-