Class DateFormatProcessor
java.lang.Object
org.mapfish.print.processor.AbstractProcessor<DateFormatProcessor.Input,DateFormatProcessor.Output>
org.mapfish.print.processor.jasper.DateFormatProcessor
- All Implemented Interfaces:
ConfigurationObject
,Processor<DateFormatProcessor.Input,
DateFormatProcessor.Output>
public class DateFormatProcessor
extends AbstractProcessor<DateFormatProcessor.Input,DateFormatProcessor.Output>
A processor that creates a date formatter that can be used in Jasper.
Example Configuration:
attributes:
...
timezone: !string
default: PST
processors:
...
- !dateFormat
pattern: "EEEEE dd MMMMM yyyy HH:mm"
Will take into account the "lang" field, if passed in the request:
{
"lang": "fr_CH",
"attributes": {
...
"timezone": "CET"
},
...
}
In your template, you can use it like that:
<jasperReport>
<parameter name="dateFormat" class="java.text.DateFormat"/>
...
<textField>
...
<textFieldExpression>$P{dateFormat}.format(TODAY())</textFieldExpression>
</textField>
</jasperReport>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
The Input of the processor.static final class
The output of the processor.Nested classes/interfaces inherited from class org.mapfish.print.processor.AbstractProcessor
AbstractProcessor.Context
Nested classes/interfaces inherited from interface org.mapfish.print.processor.Processor
Processor.ExecutionContext
-
Field Summary
Fields inherited from interface org.mapfish.print.processor.Processor
MDC_APPLICATION_ID_KEY, MDC_JOB_ID_KEY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns a new/clean instance of a parameter object.execute
(DateFormatProcessor.Input values, Processor.ExecutionContext context) Perform the process on the input attributes.protected void
extraValidation
(List<Throwable> validationErrors, Configuration configuration) Perform any extra validation a subclass may need to perform.void
setPattern
(String pattern) The pattern to use to format dates.Methods inherited from class org.mapfish.print.processor.AbstractProcessor
getInputMapperBiMap, getInputPrefix, getOutputMapperBiMap, getOutputPrefix, getOutputType, setInputMapper, setInputPrefix, setOutputMapper, setOutputPrefix, setPrefix, toString, toString, validate
-
Constructor Details
-
DateFormatProcessor
protected DateFormatProcessor()Constructor.
-
-
Method Details
-
extraValidation
Description copied from class:AbstractProcessor
Perform any extra validation a subclass may need to perform.- Specified by:
extraValidation
in classAbstractProcessor<DateFormatProcessor.Input,
DateFormatProcessor.Output> - Parameters:
validationErrors
- a list to add errors to so that all validation errors are reported as one.configuration
- the containing configuration
-
createInputParameter
Description copied from interface:Processor
Returns 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 theValues
object.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
Values
object 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
HasDefaultValue
annotation 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.
-
execute
@Nullable public DateFormatProcessor.Output execute(DateFormatProcessor.Input values, Processor.ExecutionContext context) throws Exception Description copied from interface:Processor
Perform the process on the input attributes.- Parameters:
values
- A Java object whose public fields are populated from theValues
object (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
Values
object. The key in theValues
object 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:
Exception
-
setPattern
The pattern to use to format dates.See https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
- Parameters:
pattern
- The pattern
-