org.springframework.format
Interface AnnotationFormatterFactory<A extends Annotation>

Type Parameters:
A - the annotation type that should trigger formatting
All Known Implementing Classes:
JodaDateTimeFormatAnnotationFormatterFactory, 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
 Set<Class<?>> getFieldTypes()
          The types of fields that may be annotated with the <A> annotation.
 Parser<?> getParser(A annotation, Class<?> fieldType)
          Get the Parser to parse a submitted value for a field of fieldType annotated with annotation.
 Printer<?> getPrinter(A annotation, Class<?> fieldType)
          Get the Printer to print the value of a field of fieldType annotated with annotation.
 

Method Detail

getFieldTypes

Set<Class<?>> getFieldTypes()
The types of fields that may be annotated with the <A> annotation.


getPrinter

Printer<?> getPrinter(A annotation,
                      Class<?> fieldType)
Get the Printer to print the value of a field of fieldType annotated with annotation. If the type <T> the printer accepts is not assignable to fieldType, a coersion from fieldType to <T> will be attempted before the Printer is invoked.

Parameters:
annotation - the annotation instance
fieldType - the type of field that was annotated
Returns:
the printer

getParser

Parser<?> getParser(A annotation,
                    Class<?> fieldType)
Get the Parser to parse a submitted value for a field of fieldType annotated with annotation. If the object the parser returns is not assignable to fieldType, a coersion to fieldType will be attempted before the field is set.

Parameters:
annotation - the annotation instance
fieldType - the type of field that was annotated
Returns:
the parser