Package io.jmix.reports.annotation
Annotation Interface ReportDef
Indicates that marked class is a report definition.
Report described by this definition will be available in the running application for observing and running it:
in UI, REST API or programmatically.
Report definition contains of element annotations and optional delegate methods.
Element annotations define report structure containing from input parameters, bands, data sets, templates and value formats. They are also put on the class.
Delegate methods are methods implementing some logic for the related report element, such as data loading or parameter validation. These methods are declared in the class body and annotated with
Report definition will inherit element annotations and delegate methods from superclasses and implemented interfaces, if those contain report element declarations. The only annotation that can't be inherited and must present on the definition class itself is this one -
Report definition is a Spring bean, so it can autowire dependencies necessary for implementing logic in delegates.
Model object is
Element annotations define report structure containing from input parameters, bands, data sets, templates and value formats. They are also put on the class.
Delegate methods are methods implementing some logic for the related report element, such as data loading or parameter validation. These methods are declared in the class body and annotated with
InputParameterDelegate or similar annotations.
Report definition will inherit element annotations and delegate methods from superclasses and implemented interfaces, if those contain report element declarations. The only annotation that can't be inherited and must present on the definition class itself is this one -
ReportDef.
Report definition is a Spring bean, so it can autowire dependencies necessary for implementing logic in delegates.
Model object is
Report.-
Required Element Summary
Required Elements -
Optional Element Summary
Optional ElementsModifier and TypeOptional ElementDescriptionName of the Spring bean containing report definition.Detailed report description.Class<?>Group of the report.booleanWhether the report should be accessible via REST API.booleanWhether the report is only for internal system use, i.e.Optional unique id in the UUID format.
-
Element Details
-
-
beanName
@AliasFor(annotation=org.springframework.stereotype.Component.class, attribute="value") String beanNameName of the Spring bean containing report definition.- Default:
- ""
-
description
String descriptionDetailed report description.- Default:
- ""
-
uuid
String uuidOptional unique id in the UUID format. Specify this attribute to have stable object id in runtime (e.g. for URL routes).- Default:
- ""
-
group
Class<?> groupGroup of the report. Specified as class of the annotated report group definition.- See Also:
- Default:
- void.class
-
restAccessible
boolean restAccessibleWhether the report should be accessible via REST API.- Default:
- false
-
system
boolean systemWhether the report is only for internal system use, i.e. it should be hidden in UI.- Default:
- false
-