Class JasperReportBuilder
java.lang.Object
org.mapfish.print.processor.AbstractProcessor<JasperReportBuilder.Input,Void>
org.mapfish.print.processor.jasper.JasperReportBuilder
- All Implemented Interfaces:
ConfigurationObject,HasConfiguration,Processor<JasperReportBuilder.Input,Void>
public final class JasperReportBuilder
extends AbstractProcessor<JasperReportBuilder.Input,Void>
implements HasConfiguration
A processor that actually compiles a JasperReport template file.
Example
processors:
- !reportBuilder # compile all reports in current directory
directory: '.'
[[examples=verboseExample]]-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classThe input parameter object forJasperReportBuilder.Nested classes/interfaces inherited from class org.mapfish.print.processor.AbstractProcessor
AbstractProcessor.ContextNested classes/interfaces inherited from interface org.mapfish.print.processor.Processor
Processor.ExecutionContext -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringExtension for Compiled Jasper Report Template files.static final StringExtension for Jasper XML Report Template files.Fields inherited from interface org.mapfish.print.processor.Processor
MDC_APPLICATION_ID_KEY, MDC_JOB_ID_KEY -
Method Summary
Modifier and TypeMethodDescriptionReturns a new/clean instance of a parameter object.execute(JasperReportBuilder.Input param, Processor.ExecutionContext context) Perform the process on the input attributes.protected voidextraValidation(List<Throwable> validationErrors, Configuration config) Perform any extra validation a subclass may need to perform.voidsetConfiguration(Configuration configuration) Set the configuration that the object belongs to.voidsetDirectory(String directory) Set the directory and test that the directory exists and is contained within the Configuration directory.toString()Methods inherited from class org.mapfish.print.processor.AbstractProcessor
getInputMapperBiMap, getInputPrefix, getOutputMapperBiMap, getOutputPrefix, getOutputType, setInputMapper, setInputPrefix, setOutputMapper, setOutputPrefix, setPrefix, toString, validate
-
Field Details
-
JASPER_REPORT_XML_FILE_EXT
Extension for Jasper XML Report Template files.- See Also:
-
JASPER_REPORT_COMPILED_FILE_EXT
Extension for Compiled Jasper Report Template files.- See Also:
-
-
Method Details
-
execute
public Void execute(JasperReportBuilder.Input param, Processor.ExecutionContext context) throws net.sf.jasperreports.engine.JRException Description copied from interface:ProcessorPerform the process on the input attributes.- Specified by:
executein interfaceProcessor<JasperReportBuilder.Input,Void> - Parameters:
param- A Java object whose public fields are populated from theValuesobject (which is used for transferring properties between processors).context- The execution context for a print task.- Returns:
- A Java object whose public fields will be put into the
Valuesobject. The key in theValuesobject is the name of the field or if there is a mapping in theProcessor.getOutputMapperBiMap()map, the mapped name. The key is determined in a similar way as for the input object. - Throws:
net.sf.jasperreports.engine.JRException
-
createInputParameter
Description copied from interface:ProcessorReturns a new/clean instance of a parameter object. This instance's will be inspected using reflection to find its public fields and the properties will be set from theValuesobject.The way the properties will be looked up is to
- take the bean property name
- map it using the input mapper, (if the input mapper does not have a mapping for the property then the unmapped property name is used)
- Look up the property value in the
Valuesobject using the mapped property name - set the value on the instance created by this method. If the value is null an exception
will be thrown UNLESS the
HasDefaultValueannotation is on the field for the property.
It is important to realize that super classes will also be analyzed, so care must be had with inheritance.
- Specified by:
createInputParameterin interfaceProcessor<JasperReportBuilder.Input,Void>
-
setDirectory
Set the directory and test that the directory exists and is contained within the Configuration directory.- Parameters:
directory- the new directory
-
setConfiguration
Description copied from interface:HasConfigurationSet the configuration that the object belongs to.- Specified by:
setConfigurationin interfaceHasConfiguration- Parameters:
configuration- the configuration object
-
toString
- Overrides:
toStringin classAbstractProcessor<JasperReportBuilder.Input,Void>
-
extraValidation
Description copied from class:AbstractProcessorPerform any extra validation a subclass may need to perform.- Specified by:
extraValidationin classAbstractProcessor<JasperReportBuilder.Input,Void> - Parameters:
validationErrors- a list to add errors to so that all validation errors are reported as one.config- the containing configuration
-