org.springframework.format
Interface AnnotationFormatterFactory<A extends java.lang.annotation.Annotation>

Type Parameters:
A - the annotation type that should trigger formatting
All Known Implementing Classes:
FormattingConversionServiceFactoryBean.NoJodaDateTimeFormatAnnotationFormatterFactory, JodaDateTimeFormatAnnotationFormatterFactory, NumberFormatAnnotationFormatterFactory

public interface AnnotationFormatterFactory<A extends java.lang.annotation.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
 java.util.Set<java.lang.Class<?>> getFieldTypes()
          The types of fields that may be annotated with the <A> annotation.
 Parser<?> getParser(A annotation, java.lang.Class<?> fieldType)
          Get the Parser to parse a submitted value for a field of fieldType annotated with annotation.
 Printer<?> getPrinter(A annotation, java.lang.Class<?> fieldType)
          Get the Printer to print the value of a field of fieldType annotated with annotation.
 

Method Detail

getFieldTypes

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


getPrinter

Printer<?> getPrinter(A annotation,
                      java.lang.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,
                    java.lang.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