org.springframework.format
Interface FormatterRegistry

All Superinterfaces:
ConverterRegistry
All Known Implementing Classes:
FormattingConversionService

public interface FormatterRegistry
extends ConverterRegistry

A registry of field formatting logic.

Since:
3.0
Author:
Keith Donald, Juergen Hoeller

Method Summary
 void addFormatterForFieldAnnotation(AnnotationFormatterFactory<? extends Annotation> annotationFormatterFactory)
          Adds a Formatter to format fields annotated with a specific format annotation.
 void addFormatterForFieldType(Class<?> fieldType, Formatter<?> formatter)
          Adds a Formatter to format fields of a specific type.
 void addFormatterForFieldType(Class<?> fieldType, Printer<?> printer, Parser<?> parser)
          Adds a Printer/Parser pair to format fields of a specific type.
 
Methods inherited from interface org.springframework.core.convert.converter.ConverterRegistry
addConverter, addConverter, addConverterFactory, removeConvertible
 

Method Detail

addFormatterForFieldType

void addFormatterForFieldType(Class<?> fieldType,
                              Formatter<?> formatter)
Adds a Formatter to format fields of a specific type.

On print, if the Formatter's type T is declared and fieldType is not assignable to T, a coersion to T will be attempted before delegating to formatter to print a field value. On parse, if the parsed object returned by formatter is not assignable to the runtime field type, a coersion to the field type will be attempted before returning the parsed field value.

Parameters:
fieldType - the field type to format
formatter - the formatter to add

addFormatterForFieldType

void addFormatterForFieldType(Class<?> fieldType,
                              Printer<?> printer,
                              Parser<?> parser)
Adds a Printer/Parser pair to format fields of a specific type. The formatter will delegate to the specified printer for printing and the specified parser for parsing.

On print, if the Printer's type T is declared and fieldType is not assignable to T, a coersion to T will be attempted before delegating to printer to print a field value. On parse, if the object returned by the Parser is not assignable to the runtime field type, a coersion to the field type will be attempted before returning the parsed field value.

Parameters:
fieldType - the field type to format
printer - the printing part of the formatter
parser - the parsing part of the formatter

addFormatterForFieldAnnotation

void addFormatterForFieldAnnotation(AnnotationFormatterFactory<? extends Annotation> annotationFormatterFactory)
Adds a Formatter to format fields annotated with a specific format annotation.

Parameters:
annotationFormatterFactory - the annotation formatter factory to add