Interface AnnotationFormatterFactory<A extends Annotation>
- Type Parameters:
A- the annotation type that should trigger formatting
- All Known Implementing Classes:
DateTimeFormatAnnotationFormatterFactory, DurationFormatAnnotationFormatterFactory, Jsr310DateTimeFormatAnnotationFormatterFactory, Jsr354NumberFormatAnnotationFormatterFactory, NumberFormatAnnotationFormatterFactory
public interface AnnotationFormatterFactory<A extends Annotation>
A factory that creates formatters to format values of fields annotated with a particular
Annotation.
For example, a DateTimeFormatAnnotationFormatterFactory might create a formatter
that formats Date values set on fields annotated with @DateTimeFormat.
- Since:
- 3.0
- Author:
- Keith Donald
-
Method Summary
Modifier and TypeMethodDescriptionThe types of fields that may be annotated with the <A> annotation.Parser<?> Get the Parser to parse a submitted value for a field offieldTypeannotated withannotation.Printer<?> getPrinter(A annotation, Class<?> fieldType) Get the Printer to print the value of a field offieldTypeannotated withannotation.
-
Method Details
-
getFieldTypes
-
getPrinter
Get the Printer to print the value of a field offieldTypeannotated withannotation.If the type T the printer accepts is not assignable to
fieldType, a coercion fromfieldTypeto T will be attempted before the Printer is invoked.- Parameters:
annotation- the annotation instancefieldType- the type of field that was annotated- Returns:
- the printer
-
getParser
Get the Parser to parse a submitted value for a field offieldTypeannotated withannotation.If the object the parser returns is not assignable to
fieldType, a coercion tofieldTypewill be attempted before the field is set.- Parameters:
annotation- the annotation instancefieldType- the type of field that was annotated- Returns:
- the parser
-