Package io.jmix.reportsflowui.runner
Class DefaultReportExecutionPresentation
java.lang.Object
io.jmix.reportsflowui.runner.DefaultReportExecutionPresentation
- All Implemented Interfaces:
ReportExecutionPresentation
@NullMarked
@Component("report_DefaultReportExecutionPresentation")
public class DefaultReportExecutionPresentation
extends Object
implements ReportExecutionPresentation
-
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)
-
Constructor Details
-
DefaultReportExecutionPresentation
public DefaultReportExecutionPresentation()
-
-
Method Details
-
getId
- Specified by:
getIdin interfaceReportExecutionPresentation- Returns:
- unique identifier of this presentation (see
ReportExecutionPresentationIds)
-
supportsReport
- Specified by:
supportsReportin interfaceReportExecutionPresentation- Returns:
trueif the report has at least one template and output type compatible with this presentation
-
getAvailableTemplates
- Specified by:
getAvailableTemplatesin interfaceReportExecutionPresentation- Returns:
- templates of the report that are compatible with this presentation
-
resolveDefaultTemplate
public @Nullable ReportTemplate resolveDefaultTemplate(@Nullable Report report, @Nullable ReportTemplate selectedTemplate) - Specified by:
resolveDefaultTemplatein interfaceReportExecutionPresentation- Returns:
- the template that should be used by default for this presentation,
preferring
selectedTemplateif it is compatible
-
getAvailableOutputTypes
public List<ReportOutputType> getAvailableOutputTypes(@Nullable Report report, @Nullable ReportTemplate template) - Specified by:
getAvailableOutputTypesin interfaceReportExecutionPresentation- Returns:
- output types for the template that are compatible with this presentation
-
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:
- the output type to run the report with, or
nullif this presentation cannot handle the template
-
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 user must choose a template or an output type before the report can be run with this presentation
-